TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

8.2.3. Виртуальная память и перемещение сегментов

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

При загрузке дискового сегмента ОС проверяет наличие свободного пространства памяти. Если памяти недостаточно, ОС выгружает часть сегментов на диск1 и/или перемещает сегменты так, чтобы освободить требуемый объем. При перемещении сегмента соответствующим образом изменяется связанный с ним дескриптор, однако владеющая сегментом программа обычно не замечает этого изменения, т.к. для доступа к сегменту она использует селектор, указывающий на нужный дескриптор, а содержимое селектора не меняется. Если программа хочет получить доступ к конкретному физическому пространству памяти, она должна предварительно дать знать об этом ОС, которая в этом случае помечает сегмент как неперемещаемый. Такая процедура называется фиксацией сегмента. Фиксация обычно необходима при работе с кучей, т.к. только в этом случае связанный с кучей указатель может использоваться в качестве физического адреса. После завершения обмена данными с сегментом, программа должна снять фиксацию (разблокировать) сегмент, чтобы ОС смогла при необходимости его переместить или выгрузить на диск.

' Выгружаются на диск только сегменты данных. Д?ш сегментов кода вместо выгрузки операционная система помечает сегмент как свободный и использует его пространство для размещения дисковой памяти.

 

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz