Способы организации виртуальной памяти
Страничный способ организации виртуальной памяти.
Способ разрывного размещения задач в памяти при котором все фрагменты задачи одинакового размера кратного степени двойки называется страничным, а фрагменты страницами. В этом случае память разбивается на физические страницы (кадры, фреймы). А программа разбивается на виртуальные страницы. Часть виртуальных страниц размещается в ОЗУ, а часть во внешней памяти. Место на жестком диске, где размещаются виртуальные страницы называют файлом подкачки или страничным файлом (SWAP-файл). Чтобы подчеркнуть, что записи этого файла-страницы замещают друг друга в ОЗУ в некоторых операционных системах виртуальные страницы располагаются не в файле, а в специальном разделе диска.
Физический адрес ячейки памяти определяется парой (Pp, i), а виртуальный (Pv, i). Pv – номер виртуальной страницы, Pp – номер физической страницы, а I – номер ячейки (индекс) внутри страницы. Для отображения виртуального адресного пространства на физическую память для каждой задачи необходимо иметь таблицы страниц для трансляции адресных пространств. Для описания каждой страницы диспетчер памяти операционной системы заводит соответствующий дескриптор. По номеру виртуальной страницы в таблице дескрипторов текущей задачи находится соответствующий элемент (дескриптор). Если бит присутствия равен единице, то данная страница находится в ОЗУ и в дескрипторе находится номер физической страницы, отведенной под данную виртуальную страницу.
Защита страничной памяти основана на контроле уровня доступа каждой страницы. Существующие уровни доступа: только чтения, чтение и запись, только выполнение. Каждая страница снабжается соответствующим кодом. При обращении к виртуальной странице отсутствующей в физической памяти возникает прерывание и управление передается диспетчеру памяти, который должен найти свободное место. Если свободной страницы нет, то диспетчер памяти, по одной из дисциплин замещения определит страницу подлежащую расформированию или сохранению во внешней памяти. На её место он разместит виртуальную страницу к которой было обращение из задачи. Диспетчер памяти выбирает для замещения ту страницу, на которую не было ссылки на протяжении наиболее длительного периода времени.
Дисциплина замещения – Least Recently Used связывает с каждой страницей время последнего её использования.
В Windows 2000 она называется FIFO. Страничный механизм приводит к тому, что без специальных аппаратных средств он существенно замедляет работу вычислительной системы. Поэтому обычно используют кэширование страничных дескрипторов. В микропроцессоре i80*86 используется кэш на 32 страничных дескриптора. Поскольку размер страницы в этих микропроцессорах 4Кб, то возможно быстрое обращение к 128Кб памяти.
предыдущаяследующая