Средства поддержки сегментации памяти

 

Как известно, процессор Intel Pentium может поддерживать сегментную и сегментно – страничную модель организации памяти. При любой модели организации памяти необходимо выполнить преобразование виртуального адреса данных, который формируется при компиляции приложения, в конкретный физический адрес в оперативной памяти.

При использовании 32–х разрядных адресов, и соответственно 32–х разрядных регистров процессора, максимальный размер физической памяти составляет 4 Гбайта. (232). Средства поддержки механизма виртуальной памяти процессора Pentium позволяют отображать виртуальное адресное пространство на физическую память максимум 4 Гб.

Средства управления виртуальной памятью, то есть средства преобразования виртуального адреса в физический адрес, имеют два уровня:

Верхний уровень составляют средства сегментации памяти;

Нижний уровень средства страничной организации памяти;

 

 

Оперативная память   Сегмент 1     Сегмент 2 – страница 1   Сегмент 2 – страница 2   Сегмент 2 – страница N   Сегмент 3   и т.д.   Сегментные средства работают всегда, а страничные могут быть как включена, так и отключены. Бит PE ( Paging Enable) управляющего регистра CR0может принимать два значения 1 – страничные средства включены; 0 – страничные средства отключены; в зависимости от того включены страничные средства или нет, происходит преобразование виртуального адреса в физический адрес ОП    

 

Рассмотрим работу средств сегментации памяти при отключенном механизме управления страницами.

 

Все виртуальное адресное пространство процесса делится на сегменты:

Сегмент кода, Сегмент данных и Сегмент стека;

 

Процессы могут быть системными и пользовательскими, таким образом, сегмент кода системного процесса будет системным сегментом кода.