Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ос_ЛЕКЦИИ_для _методички_.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
821.76 Кб
Скачать

Инвертированные таблицы страниц.

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

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

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

1. Алгоритм NRU (not ready use). Неиспользовавшаяся в последнее время страница. Используется статистический подсчет значений битов обращений и модификаций. Все страницы делятся на 4 типа:

00 - не было обращений и изменений страницы.

01 - страница изменена, установка единички вместо нуля ожидается.

10 - было обращение, но не изменена.

11 - было обращение, изменена.

Алгоритм вытесняет страницу, имеющую признак 01 с наименьшим номером.

2. Алгорит FIFO (first in, first out).

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

3. Алгоритм "вторая попытка".

Ищет в списке самую старую страницу, к которой не было обращения за определенный интервал времени.

4. Алгоритм LRU (last recently used).

Страница, не использующаяся дольше всего.

Распределение виртуального адресного пространства.

Для уменьшения размера виртуального адресного пространства, используемого процессом, применяется разделение виртуальных адресных пространств на области инструкций (i-пространства) и данных (d-пространства).

Пространства i- и d- имеют свой таблицу страниц и соответственно своё отображение в реальную ОП. Механизм используется для организации совместного доступа. Это необходимо, когда в одно и то же время несколькими процессами используются общие модули. Целесообразно загрузить в реальную ОП только одну копию модуля. В этом случае используется одна таблица страниц для i-пространства и несколько таблиц страниц для d-пространства, каждая для одного процесса. Каждый процесс имеет указатель на общую таблицу для i-пространства и разные для d-пространства.

Очистка страниц.

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