Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPS_2015.docx
Скачиваний:
442
Добавлен:
11.05.2015
Размер:
2.07 Mб
Скачать

26.Сегментная организация виртуальной памяти. Комбинированная сегментно- страничная организация виртуальной памяти.

В этом случае виртуальное пространство разбивается на блоки по логическим признакам, устанавливаемым программистом. Такое разбиение называется сегментацией, а блоки – сегментами. Сегменты используются для размещения логических объектов, например, программы (подпрограммы) или структуры данных и в отличие от страниц имеют переменную длину (размер).

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

Программа может выполняться, если в основной памяти находится, как минимум, ее текущий сегмент.

Виртуальный адрес при сегментной организации представляет собой упорядоченную пару v = (s, d), где s – номер сегмента, содержащего адрес v, а d – смещение адреса v относительно начала сегмента s. Динамическое преобразование адресов при сегментной организации памяти предусматривает отображение номера сегмента s на начальный (базовый) адрес сегментаAs в основной памяти, т.е. номер каждого сегмента виртуального пространства ставится в соответствие положению сегмента в физическом адресном пространстве. Взаимосвязь между номерами сегментов и их базовыми адресами устанавливается таблицей сегментов. При этом полная таблица сегментов размещается в основной памяти. Преобразование адресов может выполняться практически точно так же, как и при страничной организации, за исключением того, что физический адрес получается в результате сложения базового адреса сегмента и смещения. Поскольку сегменты имеют переменную длину, смещение d необходимо контролировать, чтобы оно не выходило за пределы сегмента.

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

Комбинированная сегментно-страничная организация виртуальной памяти

Виртуальный адрес представляет собой упорядоченную тройку v = (s, p, d), где s – сегмент, в котором находится виртуальный адрес v, p – страница в сегменте s, содержащая адрес v, d – смещение адреса v в странице p. Преобразование адресов осуществляется в два этапа:

  • строка таблицы сегментов указывает на таблицу страниц;

  • строка таблицы страниц в свою очередь указывает на страничный кадр.

Преобразование адреса при комбинированной сегментно-страничной организации подобно на преобразование адреса при двухуровневой страничной организации. Однако эти два способа организации виртуальной памяти принципиально отличаются друг от друга. В первом случае сегменты являются самостоятельными логическими объектами. Во втором случае разбиение страниц на разделы является условным и используется для уменьшения объема памяти, требуемой для хранения информации отображения адресов.

Кроме комбинированной сегментно-страничной организации виртуальной памяти в современных микропроцессорах используется и совместное применение сегментной и страничной организаций памяти. В этом случае сегментный и страничный механизмы работают независимо, что позволяет в свою очередь независимо управлять памятью на логическом и физическом уровнях. С помощью сегментного механизма виртуальное пространство, состоящее из сегментов,преобразуется в линейное пространство, которое затем с помощью страничного механизма путем разбиения настраницы преобразуется в физическое пространство.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]