Операционные системы

       

Сегментная организация виртуальной памяти


В системе с сегментной организацией памяти снимается ограничение на фиксированный размер блока и выполняется соответствующее произвольное разбиение АП процесса на сегменты.

Сегмент

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

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

-

выполнение  E;

-       чтение           R;

-       запись           W;

-       расширение  A

и их различных комбинаций.

Для сегментной организации в таблице отображения сегментов с каждым сегментом связан дескриптор, который содержит адрес размещения сегмента в ОП, его длину

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

В сегментной организации все сегменты имеют различный размер и могут размещаться в несмежных участках РОП.

Достоинства сегментной организации:

1.Уменьшение временной фрагментации, так как естественно учитывается свойство локальности программ.

2.Легко совмещается с использованием общих процессов, поскольку данные и программа целиком находятся в одном блоке.

3.Возможность обеспечить четкое управление доступом к сегменту со стороны общих процессов и их полную защиту.

Недостатки:

1.Более сложное управление и защита ОП. Здесь уже не достаточно пары граничных регистров, а необходимы ключи защиты индивидуальных сегментов памяти.

2.Может возникнуть временная фрагментация для больших размеров процедур и данных.



Содержание раздела