В системе с сегментной организацией памяти снимается ограничение на фиксированный размер блока и выполняется соответствующее произвольное разбиение АП процесса на сегменты.
Сегмент - это единица логического разбиения программ (процедура, модуль, область данных), имеющая переменный размер и имя. Напомним, что страница - это физическая единица памяти.
Сегментная организация обеспечивает простое и естественное разделение общих сегментов между несколькими пользователями и защиту сегментов посредством связывания с ним прав доступа, подразделяющихся на:
· выполнение E
· чтение R
· запись W
· расширение A
и их различных комбинаций.
Для сегментной организации в таблице отображения сегментов с каждым сегментом связан дескриптор, который содержит адрес размещения сегмента в ОП, его длину и права доступа (ERWA), признак обращения к сегменту за последний интервал времени, а также признак присутствия в РОП. Если виртуальные адресные пространства нескольких процессов включают один и тот же сегмент, то в таблицах сегментов этих процессов делаются ссылки на один и тот же участок оперативной памяти, в который данный сегмент загружается в единственном экземпляре.
В сегментной организации все сегменты различного размера и могут размещаться в несмежных участках РОП.
Достоинства:
1.Уменьшение временной фрагментации, так как естественно учитывается свойство локальности программ.
2.Легко совмещается с использованием общих процессов, поскольку данные и программа целиком находятся в одном блоке.
3.Возможность обеспечить четкое управление доступом к сегменту со стороны общих процессов и их полную защиту.
Недостатки:
1.Более сложное управление и защита ОП. Здесь уже не достаточно пары граничных регистров, а необходимы ключи защиты индивидуальных сегментов памяти.
2.Может возникнуть временная фрагментация для больших размеров процедур и данных.