Сегментное распределение


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

Разбиение адресного пространства на "осмысленные" части устраняет эти недостатки и называется сегментным распределением. Примеры сегментов: код программы, массив исходных данных и пр.

На этапе создания процесса, ОС создает таблицу сегментов процесса, аналогичную таблице страниц. (рис.13)

 


Рис.14 Распределение памяти сегментами

 


Рис.15. Схема преобразования виртуального адреса в физический при сегментном распределении.

где, физический адрес получается путем сложения по модулю 2

К недостаткам сегментного распределения можно отнести следующие: