Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Общая схема



Виртуальное адресное пространство процесса разделено на сегменты. Это позво­ляет определять разные права доступа к разным частям кодов и данных программы.

Перемещение данных между памятью и диском осуществляется страницами, что по­зволяет минимизировать фрагментацию оперативной памяти. Для этого виртуальное адресное пространство и физическая память делятся на страницы равного размера.

Сегментация. В большинстве современных реализаций сегментно-страничного рас­пределения все виртуальные сегменты образуют одно непрерывное виртуальное адрес­ное пространство (в отличие от описанного в п. 4.3 чисто сегментного распределения).

Адрес в виртуальном адресном пространстве при сегментно-страничном распре­делении задается парой «номер сегмента - смещение относительно начала сегмен­та». Это позволяет проверить принадлежность адреса некоторому сегменту и соот­ветствующие права доступа.

Для каждого процесса создается таблица сегментов, содержащая дескрипторы сегмен­тов. В отличие от дескриптора сегмента при сегментном распределении, содержащего физический адрес сегмента, в данном случае в дескриптор заносится начальный (базо­вый) линейный виртуальный адрес сегмента в пространстве виртуальных адресов.

Соответствующая схема сегментации приведена на рис. 3.7.

Рисунок 3.7- Сегментация с непрерывным виртуальным адресным пространством

Пара «базовый виртуальный адрес сегмента» - «смещение относительно начала сегмента» однозначно преобразуется в линейный виртуальный адрес, который да­лее преобразуется в физический адрес уже страничным механизмом.

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

Базовые адреса таблицы сегментов и таблицы страниц являются частью контек­ста процесса; при активизации процесса загружаются в специальные регистры и ис­пользуются при преобразовании адресов.

Преобразование виртуального адреса в физический осуществляется в два этапа механизмом сегментации и страничным механизмом (рис. 3.8).

Рисунок 3.8 - Схема преобразования виртуального адреса в физический при сегментно-страничной организации

На первом этапе вычисляется адрес поля дескриптора сегмента и анализируют­ся права доступа к сегменту. Если доступ разрешен, то виртуальный адрес в виде пары «сегмент - смещение» преобразуется в линейный виртуальный адрес. По­скольку разбиение на страницы и размер страниц выбираются так же, как при стра­ничном распределении, этот адрес одновременно представлен в виде «номер стра­ницы - смещение внутри страницы».

На втором этапе преобразование адреса происходит так же, как при страничной орга­низации.

Возможен и другой вариант комбинирования сегментного и страничного механиз­мов, который здесь не рассматривается: виртуальное адресное пространство про­цесса делится на сегменты, а каждый сегмент - на страницы. Виртуальный адрес в таком случае выражается тройкой «сегмент - страница - смещение в странице».





Дата публикования: 2015-10-09; Прочитано: 515 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...