В современных ОС типичный размер страницы составляет 2 или 4 Кб

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

Каждый адрес, генерируемый процессором, состоит из двух частей:

P – номер страницы (page number),

d – смещение в пределах страницы.

Физический адрес определяется сложением начального адреса страничной рамки и смещения.

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

3. Сегментно-страничная организация (рис 9.4)

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

Виртуальная память.

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

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

ВП чаще всего реализуется на базе страничной организации памяти, совмещенной со своппингом страниц.

Каждому пользователю предоставляется собственное непрерывное виртуальное адресное пространство, которое включает и оперативную память и внешнюю. Это пространство носит название виртуальной (моделируемой) памяти (ВП).

ВП разбивается на страницы, которые могут располагаться как в ОП, так и в ВП.

Страничная по требованию

Своппингу повергаются только те страницы, которые необходимы процессору.

Каждая строка таблицы страниц дополняется битом нахождения страницы Р (valid/invalid).

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

Вторичная память, используемая для своппинга – высокоскоростное дисковое устройство (swap device), а часть используемого дискового пространства – swap-пространство (swap space).

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

В таблице страниц могут быть и другие управляющие биты (например, для защиты или совместного использования памяти на уровне страниц).

Структура таблицы страниц

В большинстве систем для каждого процесса имеется одна таблица страниц.

При 2 Гбайт=231 виртуальной памяти при использовании страниц размером 29 =512 байт требуется до 222 записей в таблице страниц для каждого процесса.

Поэтому большинство схем ВП хранят таблицы не в реальной, а в виртуальной памяти.

При выполнении процесса как минимум часть его таблицы страниц должна располагаться в ОП.

Двухуровневая страничная адресация виртуальной памяти.

Некоторые процессоры используют двухуровневую схему для больших таблиц страниц:

  • имеется каталог таблиц страниц, в котором каждая запись указывает на таблицу страниц
  • если размер каталога Х, а максимальный размер таблицы Y, то процесс может состоять максимум из Х X Y страниц

Пример 32-битовой адресации (двухуровневая схема) (рис. 9.5):

При байтовой адресации и 4-Кбайтовых(212) страницах получаем 4-Гбайтовое(232) виртуальное адресное пространство из 220 страниц.

Если в таблице страниц каждая страница отображается 4-байтовой записью, то таблица страниц состоит из 220 записей общим объемом 4 Мбайта.

При двухуровневой организации такая таблица м.б. размещена в 210 страницах ВП, которые отображаются корневой таблицей страниц, состоящей из 210 записей, которые занимают 4 Кбайта (212 байт ) ОП.

Алгоритмы замещение страниц.

Если ОС обнаружит, что все страничные рамки заняты, то возможны следующие режимы:

  1. Приостановка прерванного процесса.
  2. Уменьшение на единицу количества процессов мультипрограммной смеси для освобождения страничных рамок.
  3. Использование метода замещения страниц: в ОП выбирается страница, которая временно перемещается в swap space, а на ее место загружается необходимая страница.

Алгоритмы замещения:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: