Чистая сегментация - PullRequest
       23

Чистая сегментация

2 голосов
/ 16 июля 2010

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

Но, как я понимаю, чистая сегментация также представляет виртуальное адресное пространство, разделенное на сегменты, которые ВСЕ загружены в ОЗУ.

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

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

Я добавляю вопрос: Есть ли практическая разница между сегментацией в сочетании с пейджингом и двухуровневым пейджингом? Или есть другая разница?

Ответы [ 2 ]

2 голосов
/ 16 июля 2010

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

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

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

0 голосов
/ 16 июля 2010

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

...