The design of the UNIX Operating System 46 страница



 

Логический адрес в страничной системе – упорядоченная пара (p,d), где p – номер страницы в виртуаль-ной памяти, а d – смещение в рамках страницы p, на которой размещается адресуемый элемент . Заметим, что разбиение адресного пространства на страницы осуществляется вычислительной системой незаметно


Основы операционных систем 79

для программиста. Поэтому адрес является двумерным лишь с точки зрения операционной системы, а с точки зрения программиста адресное пространство процесса остается линейным.

 

Описываемая схема позволяет загрузить процесс, даже если нет непрерывной области кадров, достаточ-ной для размещения процесса целиком. Но одного базового регистра для осуществления трансляции ад-реса в данной схеме недостаточно. Система отображения логических адресов в физические сводится к системе отображения логических страниц в физические и представляет собой таблицу страниц, которая хранится в оперативной памяти. Иногда говорят, что таблица страниц – это кусочно-линейная функция отображения, заданная в табличном виде.

 

Интерпретация логического адреса показана на рис. 8.7. Если выполняемый процесс обращается к логи-ческому адресу v = (p,d), механизм отображения ищет номер страницы p в таблице страниц и определяет, что эта страница находится в страничном кадре p', формируя реальный адрес из p' и d.

 

Рис. 8.7. Связь логического и физического адресов при страничной организации памяти

 

Таблица страниц (page table) адресуется при помощи специального регистра процессора и позволяет оп-ределить номер кадра по логическому адресу. Помимо этой основной задачи, при помощи атрибутов, за - писанных в строке таблицы страниц, можно организовать контроль доступа к конкретной странице и ее защиту.

 

Отметим еще раз различие точек зрения пользователя и системы на используемую память. С точки зре-ния пользователя, его память – единое непрерывное пространство, содержащее только одну программу. Реальное отображение скрыто от пользователя и контролируется ОС. Заметим, что процессу пользовате-ля чужая память недоступна. Он не имеет возможности адресовать память за пределами своей таблицы страниц, которая включает только его собственные страницы.

 

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

 

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


Основы операционных систем 80

Сегментная и сегментно-страничная организация памяти

 

Существуют две другие схемы организации управления памятью: сегментная и сегментно-страничная. Сегменты, в отличие от страниц, могут иметь переменный размер. Идея сегментации изложена во введе - нии. При сегментной организации виртуальный адрес является двумерным как для программиста, так и для операционной системы, и состоит из двух полей – номера сегмента и смещения внутри сегмента.

 

Подчеркнем, что в отличие от страничной организации, где линейный адрес преобразован в дву - мерный операционной системой для удобства отображения, здесь двумерность адреса является следствием представления пользователя о процессе не в виде линейного массива байтов, а как на-бор сегментов переменного размера (данные, код, стек...).


Дата добавления: 2021-01-21; просмотров: 93; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!