![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Данный метод представляет собой комбинацию страничного и сегментного распределения памяти и, вследствие этого, сочетает в себе достоинства обоих подходов.
Виртуальное пространство процесса делится на сегменты, что позволяет назначать разные права доступа к разным частям кодов и данных программы. Каждый сегмент в свою очередь делится на виртуальные страницы, которые нумеруются в пределах сегмента.
Оперативная память делится на физические страницы. Перемещение данных между памятью и диском осуществляется не сегментами, а страницами. При этом часть страниц процесса размещается в оперативной памяти, а часть на диске. Для каждого сегмента создается своя таблица страниц, структура которой полностью совпадает со структурой таблицы страниц, используемой при страничном распределении. Для каждого процесса создается таблица сегментов, в которой указываются адреса таблиц страниц для всех сегментов данного процесса. Адрес таблицы сегментов загружается в специальный регистр процессора, когда активизируется соответствующий процесс.
Преобразование виртуального адреса в физический происходит в следующем порядке (рис. 5.12).
1. По номеру сегмента, заданному в виртуальном адресе, из таблицы сегментов извлекается физический адрес соответствующей таблицы страниц.
2. По номеру виртуальной страницы, заданному в виртуальном адресе, из таблицы страниц извлекается дескриптор, в котором указан номер физической страницы.
3. К номеру физической страницы пристыковывается младшая часть виртуального адреса – смещение.
Рис. 5.12. Схема преобразования виртуального адреса в физический
при сегментно-страничной организации памяти
Дата публикования: 2015-01-26; Прочитано: 563 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!