Проблема замещения страниц

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

Для сокращения времени передачи страниц используется бит модификациив таблице страниц: только модифицированные страницы откачиваются на диск.

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

Пример замещения страниц приведен на рис.6.

Рис. 6.Пример замещения страниц.

 

В примере имеются два пользовательских процесса, каждый из которых использует по 4 страницы виртуальной памяти. Однако имеется только 6 фреймов в основной памяти, выделенных для пользовательских процессов, (начальные фреймы занимает резидентный монитор ОС). В процессе 1 происходит обращение к данным M, расположенным на странице 3 виртуальной памяти, отсутствующей в основной памяти. В процессе 2 точно так же может произойти обращение к данным Bна странице виртуальной памяти 1, которой также нет в основной памяти. Следовательно, ОС должна выполнить замещение страниц, т.е. решить две задачи:

· по какому принципу выбирать "жертвы", т.е. страницы для откачки, находящиеся в оперативной памяти, для освобождения необходимых фреймов?

· в каком порядке обслужить процессы 1 и 2, в каждом из которых возникла необходимость в свободном фрейме?

Кратко алгоритм замещения страниц можно сформулировать следующим образом:

1. Найти, где размещается требуемая страница на диске.

2. Найти свободный фрейм:

o Если есть свободный фрейм, использовать его.

o Если нет свободных фреймов, использовать алгоритм замещения страниц для выбора фрейма -"жертвы".

3. Прочитать содержимое требуемой страницы во вновь освобожденный фрейм. Модифицировать таблицы фреймов и страниц.

4. Продолжить выполнение процесса.

На рис. 7 иллюстрируется момент замещения страниц, с предварительной откачкой страницы-жертвы на диск.

Рис.7.Замещение страниц с откачкой жертвы на диск.

 

Этапы замещения страниц: 1 – откачка жертвы; 2 – изменение ее элемента таблицы страниц (бит valid заменяется на invalid); 3 – подкачка на освободившееся место желаемой страницы; 4 – изменение элементатаблицы страниц для новой страницы (бит invalid заменяется на valid; запоминается физический адрес подкачанной страницы).








Дата добавления: 2016-03-15; просмотров: 740;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.