Вопрос

Я немного запутался в чистой сегментации, из-за моей головы всегда существовал идею виртуальной памяти.

Но как я понимаю чистое сегментацию, также представляет собой виртуальное адресное пространство, разделенное в сегментах, которые все загружены в оперативной памяти.

Разница с виртуальной памятью с сегментацией, то, возможно, есть какой-то сегмент, который он не в оперативной памяти.

Это правильно?

Я добавляю вопрос: Существует ли практическая разница между сегментацией, в сочетании с пейджингом, и двухуровневым пейджером?, Это то же самое, за исключением «предела» защиты сегмента метода сегмента.Или есть еще одна разница?

Это было полезно?

Решение

Нет, это не правильно. Например, на X86 сегментация использует «далекие» указатели, которые состоят из двух частей: селектор сегмента (загруженный в регистр сегмента, например, DS) и смещение в сегменте. Смещения сегмента всегда начинаются с 0. ЦП использует селектор сегмента для поиска дескриптора сегмента, который содержит линейный базовый адрес сегмента, длина и права доступа. Все доступы проверяются длиной; Если вы попытаетесь получить доступ к памяти за пределами предела сегментов или с помощью неверного доступа (например, запись в сегмент только для чтения), ЦП будет генерировать общую ошибку защиты.

Поскольку адреса сегментов всегда находятся нулевой, а сегментная база подразумевается в селекторе сегментов, ОС может перемещать сегменты вокруг и дефрагментационной памяти, не влияя на программы, используя эти данные. (Сравните это с помощью «плоской» модели памяти, где, если вы переместите некоторые данные, вам также необходимо обновить все указатели, указывающие на него.)

Теперь, когда пейджинг отключен, базовый адрес линейного сегмента - это его физический адрес памяти. Когда подкачки включены, все доступ к данным сегмента переведены MMU как обычно.

Другие советы

Если вы серьезно относитесь к пониманию управления памятью на этом уровне, отличное объяснение можно найти с помощью чтения Концепции операционной системы сильберсхатцем, Галвином и ГАГН.Вы должны быть в состоянии найти недорогое, старинное издание.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top