Сегментированная модель памяти

Существуют следующие модели памяти:

  1. Сегментированная модель памяти.

Вся программа разбивается на сегменты. Адресация внутри каждого сегмента не зависит от других сегментов. Главная цель такой модели – обеспечить несколько независимых адресных пространств (существует и в реальном, и в защищенном режимах). Возникла из-за того, что в 16-битном процессоре решили делать большое адресное пространство (1 мегабайт).

Сегменты в защищенном режиме выглядят следующим образом (см рисунок). Каждый сегментный регистр указывает на дескриптор сегмента, в котором хранится информация о базе и лимите соответствующего сегмента.

  1. Страничная организация памяти.

Виртуальное адресное пространство разбивается на страницы, оперативная память разбивается на страничные блоки. В чистом виде в МП Pentium не присутствует.

  1. Странично-сегментная организация памяти.

Каждый сегмент разбивается на страницы (виртуальное адресное пространство), которые впоследствии отображаются на блоки оперативной памяти. Однако и такая организация памяти мало где  используется. В защищенном режиме максимально допустимый размер сегмента составляет . Следовательно, достаточно иметь один сегмент такого большого размера.

  1. Плоская модель памяти.

Эта модель памяти используется в таких ОС, как Windows и Linux.

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

Ссылка на основную публикацию
Adblock detector