Стратегии управления виртуальной памятью презентация

Содержание


Презентации» Информатика» Стратегии управления виртуальной памятью
Основы управления памятью
 Стратегии управления виртуальной памятьюСтратегии управления виртуальной памятью
 ВведениеСтратегии управления виртуальной памятью
 Стратегия  выборки (fetch policy) 
 Стратегия размещенияСтратегия выборки
 Определяет, в какой момент следует переписать отсутствующую в ОП страницуСтратегия размещения
 Определяет, в какое место первичной памяти следует поместить поступающую Стратегия замещения
 Определяет, какую страницу (сегмент) нужно вытолкнуть во внешнюю память,Пример оптимального алгоритма замещения (1)Пример оптимального алгоритма замещения (2)Пример оптимального алгоритма замещения (3)Пример оптимального алгоритма замещения (4)Комментарии к примеру оптимального алгоритма замещения
 1’st page fault : страницаСтратегии выделения физических страниц процессам
 выделение процессам фиксированного количества страниц, котороеОбласть действия алгоритма замещения
 Локальные алгоритмы – оперируют множеством страниц оперативнойAllocation Policy vs Scope (1)Allocation Policy vs Scope (2)
 Fixed Allocation, Local Scope
 Количество фреймовПрименение локальных и глобальных алгоритмов
 UNIX System V R4 – 
Стратегии управления виртуальной памятью
 Алгоритмы замещения страницАлгоритмы замещения страниц (свопинга)
 FIFO (First In First Out) – замещениеЗависимость частоты страничных прерываний от числа страниц ОП
 Для фиксированного размераПример действия FIFOАномалия Belady
 Как установил Belady с коллегами, определенные последовательности обращений кИллюстрация аномалии Belady (1)
 Рассмотрим последовательность обращений к страницам памяти следующегоИллюстрация аномалии Belady (2)FIFO 2nd Chance
 Модификация алгоритма FIFO, которая использовалась в ранних версияхПример работы FIFO 2nd ChanceАлгоритм LRU
 Для замещения выбирается дольше всего неиспользовавшаяся страница.
 Часто используетсяПример работы LRU (1)Пример работы LRU (2)
 1’st page fault: страница 5 заместила страницуРеализация LRU №1
 Основана на использовании специального признака обращения (reference bit)Реализация LRU №2
 В некоторых архитектурах (например, Intel) признак обращения отсутствует.
NRU или clock
 Реализация:
 все страничные кадры ОП выстраиваются в одинПример работы NRU (1)
 Описание исходной ситуации:
 При доступе к страницеПример работы NRU (2)
 Работа алгоритма:
 На прошлом шаге замещения страницаNFU (Not Frequently Used)
 Для реализации алгоритма NFU требуются программные счетчики,Вопрос
 Какие недостатки алгоритма NFU Вы видите?Недостатки NFU
 Главный недостаток алгоритма NFU состоит в том, что онМодифицированный NFU : ~LRU
 Возможна небольшая модификация алгоритма, которая позволяет емуСравнение алгоритмов замещения (1)Сравнение алгоритмов замещения (2)
 Локальный алгоритм с фиксированным количеством страничных фреймовСтратегии управления виртуальной памятью
 Понятие «trashing» и алгоритм ДеннингаПонятие «trashing»
 Высокая частота страничных прерываний называется трешингом (thrashing). Процесс находитсяИллюстрация «trashing»Решение проблемы trashing
 Эффект трешинга, возникающий  при использовании глобальных алгоритмов,  можетАлгоритм Деннинга
 В 1968 году американский исследователь Питер Деннинг сформулировал принципПринцип локальности
 Принцип локальности ссылок (недоказуемый, но подтверждаемый на практике) состоитОсобенности алгоритма Деннинга
 Полная реализация алгоритма Деннинга практически гарантирует отсутствие thrashing.Аппаратная реализация алгоритма Деннинга
 Каждой странице ОП поставлен в соответствие регистр:
Комментарии к аппаратной реализации алгоритма Деннинга 
 Когда страница загружается вОписание функционирования алгоритма Деннинга
 Когда системе необходима свободная страницу, то специальный



Слайды и текст этой презентации
Слайд 1
Описание слайда:
Основы управления памятью Стратегии управления виртуальной памятью


Слайд 2
Описание слайда:
Стратегии управления виртуальной памятью Введение

Слайд 3
Описание слайда:
Стратегии управления виртуальной памятью Стратегия  выборки (fetch policy) Стратегия размещения (placement policy) Стратегия  замещения (replacement policy)

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

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

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

Слайд 7
Описание слайда:
Пример оптимального алгоритма замещения (1)

Слайд 8
Описание слайда:
Пример оптимального алгоритма замещения (2)

Слайд 9
Описание слайда:
Пример оптимального алгоритма замещения (3)

Слайд 10
Описание слайда:
Пример оптимального алгоритма замещения (4)

Слайд 11
Описание слайда:
Комментарии к примеру оптимального алгоритма замещения 1’st page fault : страница 1 была вытеснена и заменена страницей 5, т.к. страница 1 в будущем больше не будет вызываться. 2’nd page fault: страница 2 была вытеснена и заменена страницей 4, т.к. страница 2 будет вызвана позже чем остальные две страницы (страницы 5 и 3). 3’rd page fault: страница 4 была вытеснена и заменена страницей 2, т.к. страница 4 в будущем больше не будет вызываться.

Слайд 12
Описание слайда:
Стратегии выделения физических страниц процессам выделение процессам фиксированного количества страниц, которое постоянно все время его «жизни» (fixed allocation policy): всем процессам выделяется одинаковое количество страниц физической памяти; количество страниц физической памяти, выделенное процессу, пропорционально размеру процесса; выделение процессам переменного количества страниц, когда количество страниц физической памяти, выделенное процессу, изменяется во время его «жизни» (variable allocation policy).

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

Слайд 14
Описание слайда:
Allocation Policy vs Scope (1)

Слайд 15
Описание слайда:
Allocation Policy vs Scope (2) Fixed Allocation, Local Scope Количество фреймов страниц физической памяти жестко фиксировано Малое количество фреймов: большое число страничных прерываний и как следствие – плохая производительность Большое количество фреймов: меньшая многозадачность или увеличенные расходы времени на своппинг. Variable Allocation, Global Scope Прост в реализации. Увеличивается рабочее множество для процессов с большим количеством страничных прерываний увеличиваются. Однако есть проблемы (трэшинг). Variable Allocation, Local Scope Каждому процессу выделяется некоторое минимальное рабочее множество фреймов. Страницы рабочего множества заполняются по запросу или с упреждением. Замещение выполняется из числа фреймов процесса. При необходимости рабочее множество процесса может быть изменено.

Слайд 16
Описание слайда:
Применение локальных и глобальных алгоритмов UNIX System V R4 – глобальный алгоритм с переменным количеством страниц; MS Windows 2000+ – локальный алгоритм с переменным количеством страниц.

Слайд 17
Описание слайда:
Стратегии управления виртуальной памятью Алгоритмы замещения страниц

Слайд 18
Описание слайда:
Алгоритмы замещения страниц (свопинга) FIFO (First In First Out) – замещение первой использованной страницы FIFO 2nd Chance (похож на clock) LRU (Least Recently Used) – замещение дольше всех неиспользовавшихся страниц NRU (Not Recently Used) или clock – замещение не использовавшихся в последнее время страницы NFU (Not Frequently Used) – замещение наименее часто используемых страниц

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

Слайд 20
Описание слайда:
Пример действия FIFO

Слайд 21
Описание слайда:
Аномалия Belady Как установил Belady с коллегами, определенные последовательности обращений к страницам в действительности приводят к увеличению числа страничных нарушений при увеличении кадров, выделенных процессу. Это явление носит название  «аномалии Belady» или «аномалии FIFO».

Слайд 22
Описание слайда:
Иллюстрация аномалии Belady (1) Рассмотрим последовательность обращений к страницам памяти следующего вида 123412512345. Система с тремя страницами (рисунок слева) оказывается более производительной, чем с четырьмя страницами (рисунок справа).

Слайд 23
Описание слайда:
Иллюстрация аномалии Belady (2)

Слайд 24
Описание слайда:
FIFO 2nd Chance Модификация алгоритма FIFO, которая использовалась в ранних версиях UNIX. Позволяет избежать потери часто используемых страниц с помощью анализа признака использования R для самой «старой» страницы. Если признак установлен (R = 1), то страница, в отличие от FIFO, не выталкивается, а очищается бит (R = 0) и страница становится в конец очереди. Недостаток – недостаточная эффективность алгоритма, потому что постоянно передвигает страницы по списку. Поэтому лучше хранить описания страничных блоков в виде кольцевого списка и использовать указатель на старейшую страницу – алгоритм NRU (clock).

Слайд 25
Описание слайда:
Пример работы FIFO 2nd Chance

Слайд 26
Описание слайда:
Алгоритм LRU Для замещения выбирается дольше всего неиспользовавшаяся страница. Часто используется и считается «хорошим». Основная проблема – реализация (требуется аппаратная поддержка).

Слайд 27
Описание слайда:
Пример работы LRU (1)

Слайд 28
Описание слайда:
Пример работы LRU (2) 1’st page fault: страница 5 заместила страницу 3, т.к. страница 3 не была использована за последние два обращения. 2’nd page fault: страница 4 заместила страницу 1, т.к. страница 1 не была использована за последние два обращения. 3’rd page fault: страница 3 заместила страницу 2, т.к. страница 2 не была использована за последние два обращения. 4’th page fault: страница 2 заместила страницу 4, т.к. страница 4 не была использована за последние два обращения.

Слайд 29
Описание слайда:
Реализация LRU №1 Основана на использовании специального признака обращения (reference bit) к странице (требуется аппаратная поддержка). Каждой странице назначается свой счетчик обращений. С некоторым постоянным временным интервалом для каждой страницы выполняется: если признак обращения = 0 (страница не использовалась), увеличить счетчик на 1; если признак обращения = 1 (страница использовалась), обнулить счетчик; сбросить признак обращения. Счетчик будет содержать число интервалов, в течение которых страница не использовалась, страница с максимальным значение счетчика – дольше всего не использовавшаяся.

Слайд 30
Описание слайда:
Реализация LRU №2 В некоторых архитектурах (например, Intel) признак обращения отсутствует. Для эмуляции признака обращения можно использовать признак достоверности (valid bit), сбрасывая его для возникновения «псевдосбоев» страниц – пример ОС Windows 2000-2008. Недостаток – огромное количество дополнительных страничных прерываний.

Слайд 31
Описание слайда:
NRU или clock Реализация: все страничные кадры ОП выстраиваются в один большой круг (часы) реализуемый обычным кольцевым списком; «стрелка часов» указывает следующего кандидата на вытеснение движется по списку страниц как стрелка часов; если признак обращения сброшен, значит, страница давно не использовалась, и она – подходящая жертва; если признак обращения установлен, он сбрасывается, и стрелка переводится на следующую страницу. Особенности: чем чаще требуются страницы, тем быстрее движется стрелка; при достаточно большом объеме памяти дополнительные расходы невелики; если памяти очень много, точность используемой информации снижается и приходится использовать еще одну стрелку для сброса признаков обращения.

Слайд 32
Описание слайда:
Пример работы NRU (1) Описание исходной ситуации: При доступе к странице 727 возникло страничное прерывание, т.к. страница отсутствует в оперативной памяти.

Слайд 33
Описание слайда:
Пример работы NRU (2) Работа алгоритма: На прошлом шаге замещения страница 45 была помещена в страничный кадр номер 2. Перемещаем next frame pointer на следующий страничный кадр и просматриваем список страничных кадров, одновременно сбрасывая биты обращения к ним. Просмотр выполняем до тех пор, пока не найдем первый страничный кадр со сброшенным битом обращения. В нашем случае это страничный кадр номер 4, содержащий страницу 556, которая будет вытеснена, поскольку в последнее время к ней не было обращений.

Слайд 34
Описание слайда:
NFU (Not Frequently Used) Для реализации алгоритма NFU требуются программные счетчики, по одному на каждую страницу. Изначально счетчики страниц равны нулю. При каждом прерывании по времени ОС сканирует все страницы в памяти и у каждой страницы с установленным флагом обращения увеличивает на единицу значение счетчика, а флаг обращения сбрасывает. Таким образом, кандидатом на освобождение оказывается страница с наименьшим значением счетчика, как страница, к которой реже всего обращались.

Слайд 35
Описание слайда:
Вопрос Какие недостатки алгоритма NFU Вы видите?

Слайд 36
Описание слайда:
Недостатки NFU Главный недостаток алгоритма NFU состоит в том, что он ничего не забывает. Например, страница, к которой очень часто обращались в течение некоторого времени, а потом обращаться перестали, все равно не будет удалена из памяти, потому что ее счетчик содержит большую величину (глубина истории ограничена разрядностью счетчика). Другим недостатком алгоритма является длительность процесса сканирования таблиц страниц.

Слайд 37
Описание слайда:
Модифицированный NFU : ~LRU Возможна небольшая модификация алгоритма, которая позволяет ему «забывать» историю обращений. Достаточно, чтобы при каждом прерывании по времени содержимое счетчика сдвигалось вправо на 1 бит, а уже затем производилось бы его увеличение для страниц с установленным флагом обращения. В этом случае алгоритм NFU очень похож на программную реализацию алгоритма LRU.

Слайд 38
Описание слайда:
Сравнение алгоритмов замещения (1)

Слайд 39
Описание слайда:
Сравнение алгоритмов замещения (2) Локальный алгоритм с фиксированным количеством страничных фреймов на каждый процесс.

Слайд 40
Описание слайда:
Стратегии управления виртуальной памятью Понятие «trashing» и алгоритм Деннинга

Слайд 41
Описание слайда:
Понятие «trashing» Высокая частота страничных прерываний называется трешингом (thrashing). Процесс находится в состоянии трешинга, если он занимается подкачкой страниц больше времени, чем выполнением. Рассмотрим ситуацию при использовании глобальных алгоритмов замещения: (1) процессу необходимо больше фреймов оперативной памяти, и он их получает от «других» процессов; (2) у этих «других» процессов начинаются страничные прерывания и они встают в очередь на выполнение свопинга (подкачки) страниц; (3) очередь готовых процессов постепенно пустеет; (4) пропускная способность системы падает; …

Слайд 42
Описание слайда:
Иллюстрация «trashing»

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

Слайд 44
Описание слайда:
Алгоритм Деннинга В 1968 году американский исследователь Питер Деннинг сформулировал принцип локальности ссылок (называемый принципом Деннинга) и выдвинул идею алгоритма подкачки, основанного на понятии рабочего набора. В некотором смысле предложенный им подход является практически реализуемой аппроксимацией оптимального алгоритма. 

Слайд 45
Описание слайда:
Принцип локальности Принцип локальности ссылок (недоказуемый, но подтверждаемый на практике) состоит в том, что если в период времени (T-t, T) программа обращалась к страницам (С1, С2, ..., Сn), то при надлежащем выборе t с большой вероятностью эта программа будет обращаться к тем же страницам в период времени (T, T+t). Другими словами, принцип локальности утверждает, что если не слишком далеко заглядывать в будущее, то можно хорошо его прогнозировать исходя из прошлого. Набор страниц (С1, С2, ..., Сn) называется рабочим набором программы (или, правильнее, соответствующего процесса) в момент времени T. Понятно, что с течением времени рабочий набор процесса может изменяться (как по составу страниц, так и по их числу). 

Слайд 46
Описание слайда:
Особенности алгоритма Деннинга Полная реализация алгоритма Деннинга практически гарантирует отсутствие thrashing. Алгоритм реализуем (известна, по меньшей мере, одна его полная реализация, которая однако потребовала специальной аппаратной поддержки). Полная реализация алгоритма Деннинга вызывает очень большие накладные расходы.

Слайд 47
Описание слайда:
Аппаратная реализация алгоритма Деннинга Каждой странице ОП поставлен в соответствие регистр: поле  – указывающее на элемент таблицы страниц, который ссылается на данную страницу; поле t – таймер, измеряющий интервал времени, начальное значение которого находится в t-регистре; поле A – бит оповещения, что таймер истек.

Слайд 48
Описание слайда:
Комментарии к аппаратной реализации алгоритма Деннинга Когда страница загружается в во фрейм физической памяти, то страничный регистр этого фрейма получает ссылку  на соответствующий элемент таблицы страниц, в котором в свою очередь устанавливается бит присутствия страницы в памяти. При каждом обращении к странице поля регистра этой страницы изменяются: t = , A = 0. Для каждой страницы в реальном времени выполняется уменьшение таймера t для страничных фремов. Когда t заканчивается (истекает  секунд), то странице устанавливается бит A = 1, который сигнализирует, что данная страница является кандидатом на вытеснение.

Слайд 49
Описание слайда:
Описание функционирования алгоритма Деннинга Когда системе необходима свободная страницу, то специальный аппаратный модуль сканирует регистры страниц на предмет обнаружения первой страницы с установленным в «1» битом А. При замещении страницы идет обращение по ссылке  с элементу таблицы страниц, где сбрасывается бит присутствия страницы в памяти и при необходимости выполняется сброс ее измененного содержимого на диск. Значение интервала гарантированного времени жизни страницы, которое хранится в t-регистре, может изменяться операционной системой по специальному алгоритму в зависимости от текущей загруженности памяти.


Скачать презентацию на тему Стратегии управления виртуальной памятью можно ниже:

Похожие презентации