ВУЗ:
Составители:
37
При активизации очередного процесса в специальный ре-
гистр процессора загружается адрес таблицы страниц данного
процесса. При каждом обращении к памяти происходит чтение
из таблицы страниц информации о виртуальной странице, к ко-
торой произошло обращение. Если данная виртуальная страница
находится в оперативной памяти, то выполняется преобразова-
ние виртуального адреса в физический. Если же нужная вирту-
альная страница в данный момент выгружена на диск, то проис-
ходит так называемое страничное прерывание. Выполняющийся
процесс переводится в состояние ожидания, и активизируется
другой процесс из очереди готовых. Параллельно программа
обработки страничного прерывания находит на диске требуе-
мую виртуальную страницу и пытается загрузить ее в оператив-
ную память. Если в памяти имеется свободная физическая стра-
ница, то загрузка выполняется немедленно, если же свободных
страниц нет, то решается вопрос, какую страницу следует вы-
грузить из оперативной памяти.
После того, как выбрана страница, которая должна поки-
нуть оперативную память, анализируется ее признак модифика-
ции (из таблицы страниц). Если выталкиваемая страница с мо-
мента загрузки была модифицирована, то ее новая версия долж-
на быть переписана на диск. Если нет, то она может быть просто
уничтожена, то есть соответствующая физическая страница
объявляется свободной.
При сегментном распределении виртуальное пространство
приложения условно разбивается на сегменты, в том числен на
сегменты данных и кода. В отличие от страниц сегменты могут
быть различной длины в зависимости от особенностей и прин-
ципов построения приложения. Как правило, каждый сегмент
соответствует логической структуре данных или кода, которая
формируется разработчиком приложения. Ещѐ одним полезным
свойством сегментного распределения является возможность
При активизации очередного процесса в специальный ре- гистр процессора загружается адрес таблицы страниц данного процесса. При каждом обращении к памяти происходит чтение из таблицы страниц информации о виртуальной странице, к ко- торой произошло обращение. Если данная виртуальная страница находится в оперативной памяти, то выполняется преобразова- ние виртуального адреса в физический. Если же нужная вирту- альная страница в данный момент выгружена на диск, то проис- ходит так называемое страничное прерывание. Выполняющийся процесс переводится в состояние ожидания, и активизируется другой процесс из очереди готовых. Параллельно программа обработки страничного прерывания находит на диске требуе- мую виртуальную страницу и пытается загрузить ее в оператив- ную память. Если в памяти имеется свободная физическая стра- ница, то загрузка выполняется немедленно, если же свободных страниц нет, то решается вопрос, какую страницу следует вы- грузить из оперативной памяти. После того, как выбрана страница, которая должна поки- нуть оперативную память, анализируется ее признак модифика- ции (из таблицы страниц). Если выталкиваемая страница с мо- мента загрузки была модифицирована, то ее новая версия долж- на быть переписана на диск. Если нет, то она может быть просто уничтожена, то есть соответствующая физическая страница объявляется свободной. При сегментном распределении виртуальное пространство приложения условно разбивается на сегменты, в том числен на сегменты данных и кода. В отличие от страниц сегменты могут быть различной длины в зависимости от особенностей и прин- ципов построения приложения. Как правило, каждый сегмент соответствует логической структуре данных или кода, которая формируется разработчиком приложения. Ещѐ одним полезным свойством сегментного распределения является возможность 37
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »