Преимущества сегментного распределения памяти в операционных системах:
- Возможность при загрузке программы размещать её в памяти не целиком, а «по мере необходимости». 3 В зависимости от исходных данных некоторые части программы, расположенные в самостоятельных сегментах, могут быть не задействованы, значит, их можно не загружать в оперативную память. 3
- Возможность задания дифференцированных прав доступа процесса к его сегментам. 2 Например, один сегмент данных, содержащий исходную информацию для приложения, может иметь права доступа «только чтение», а сегмент данных, представляющий результаты, — «чтение и запись». 2
- Возможность разделения одного сегмента несколькими процессами. 1 Например, если два процесса используют одну и ту же математическую подпрограмму, то в оперативную память может быть загружена только одна копия этой подпрограммы. 1
Недостатки сегментного распределения памяти в операционных системах:
- Фрагментация. 2 Возникает из-за непредсказуемости размеров сегментов. 2 В процессе работы системы в памяти образуются небольшие участки свободной памяти, в которые не может быть загружен ни один сегмент. 2 Суммарный объём, занимаемый фрагментами, может составить существенную часть общей памяти системы, приводя к её неэффективному использованию. 2
- Более медленное по сравнению со страничной организацией преобразование адреса. 1 Для получения доступа к искомой ячейке памяти необходимо потратить больше времени: нужно сначала найти и прочитать дескриптор сегмента, а уже потом, используя данные из него о местонахождении нужного сегмента, вычислить конечный физический адрес. 3