Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ ОС ЭКЗАМЕН.docx.doc
Скачиваний:
2
Добавлен:
16.09.2019
Размер:
185.86 Кб
Скачать

27) Страничная организация памяти.

В наиболее простом и наиболее часто используемом случае страничной виртуальной памяти виртуальная память  и физическая  представляются состоящими из наборов блоков или страниц одинакового размера. Виртуальные  адреса делятся на страницы (page), соответствующие единицы в физической  памяти образуют страничные кадры (page frames), а в целом система поддержки страничной виртуальной памяти называется пейджингом (paging).  Передача информации между памятью и диском всегда осуществляется целыми страницами. Страницы, в отличие от сегментов, имеют фиксированную длину, обычно являющуюся степенью числа 2, и не могут перекрываться.

Виртуальный адрес в страничной системе упорядоченная пара (p,d), где p - номер страницы в виртуальной памяти, а d - смещение в рамках страницы p, где размещается  адресуемый  элемент.  Процесс может выполняться, если его текущая страница находится в  оперативной памяти.  Если текущей страницы в главной памяти нет, она должна быть переписана (подкачана)  из внешней памяти. Поступившая страница может быть размещена в любой свободный страничный  кадр. Система отображения виртуальных адресов в физические сводится к  системе отображения виртуальных страниц в физические и представляет собой таблицу страниц.

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

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

Например, в машинной инструкции move reg,0, адрес 0  находится  на первой виртуальной  странице, которая может быть локализована, во втором страничном кадре.  В реальных системах  функция отображения хранит бит присутствия страницы в физической  памяти. При отсутствии страницы в памяти возникает исключительная ситуация, называемая  страничное нарушение (page fault).  Обработка страничного нарушения приводит к тому,  затребованная страница  подкачивается из конкретного места вторичной памяти в свободный страничный кадр физической памяти и продолжается прерванный код. При отсутствии свободных страничных кадров на диск выгружается мало используемая страница.

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

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

28) Блокирование памяти. Функции для блокирования. См. вопр №12.