Разделы презентаций


Лекция 6: Аппаратно-независимое управление виртуальной памятью

Содержание

ОПЕРАЦИОННЫЕ СИСТЕМЫАппаратно-независимое управление виртуал. памятью Исключительные ситуации при работе с памятью

Слайды и текст этой презентации

Слайд 1Лекция 6: Аппаратно-независимое управление виртуальной памятью
АНТОНОВ ЕВГЕНИЙ АНДРЕЕВИЧ
ноябрь 2011 г.

Лекция 6: Аппаратно-независимое управление виртуальной памятьюАНТОНОВ ЕВГЕНИЙ АНДРЕЕВИЧноябрь 2011 г.

Слайд 2ОПЕРАЦИОННЫЕ СИСТЕМЫ
Аппаратно-независимое управление виртуал. памятью
Исключительные ситуации при работе с

памятью

ОПЕРАЦИОННЫЕ СИСТЕМЫАппаратно-независимое управление виртуал. памятью Исключительные ситуации при работе с памятью

Слайд 3ОПЕРАЦИОННЫЕ СИСТЕМЫ
Проблема при трансляции виртуальных адресов
Отображение виртуального адреса в физический

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

таблице страниц содержит номер соответствующего страничного кадра в оперативной памяти, а также атрибуты страницы для контроля обращений к памяти.
Что же происходит, когда нужной страницы в памяти нет или операция обращения к памяти недопустима?
ОПЕРАЦИОННЫЕ СИСТЕМЫПроблема при трансляции виртуальных адресовОтображение виртуального адреса в физический осуществляется при помощи таблицы страниц.Для каждой виртуальной

Слайд 4ОПЕРАЦИОННЫЕ СИСТЕМЫ
Механизм исключительных ситуаций
Естественно, что ОС должна быть как-то оповещена

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

(exceptions).
При попытке выполнить подобное обращение к виртуальной странице возникает исключительная ситуация «страничное нарушение» (page fault), приводящая к вызову специальной последовательности команд для обработки конкретного вида страничного нарушения.
ОПЕРАЦИОННЫЕ СИСТЕМЫМеханизм исключительных ситуацийЕстественно, что ОС должна быть как-то оповещена об отсутствии нужной страницы.Обычно для этого используется

Слайд 5ОПЕРАЦИОННЫЕ СИСТЕМЫ
Обработка страничного нарушения
Страничное нарушение может происходить:
при отсутствии страницы в

оперативной памяти,
при попытке записи в страницу с атрибутом «только чтение»

или
при попытке чтения или записи страницы с атрибутом «только выполнение».
В любом из этих случаев вызывается обработчик страничного нарушения, являющийся частью ОС. Ему обычно передается причина возникновения исключительной ситуации и виртуальный адрес, обращение к которому вызвало нарушение.
ОПЕРАЦИОННЫЕ СИСТЕМЫОбработка страничного нарушенияСтраничное нарушение может происходить:при отсутствии страницы в оперативной памяти,при попытке записи в страницу с

Слайд 6ОПЕРАЦИОННЫЕ СИСТЕМЫ
Время эффективного доступа к отсутствующей странице
Складывается из:
обслуживания исключительной

ситуации (page fault);
чтения (подкачки) страницы из вторичной памяти (иногда, при

недостатке места в основной памяти, необходимо вытолкнуть одну из страниц из основной памяти во вторичную, то есть осуществить замещение страницы);
возобновления выполнения процесса, вызвавшего данный page fault.
ОПЕРАЦИОННЫЕ СИСТЕМЫВремя эффективного доступа к отсутствующей страницеСкладывается из: обслуживания исключительной ситуации (page fault);чтения (подкачки) страницы из вторичной

Слайд 7ОПЕРАЦИОННЫЕ СИСТЕМЫ
Анализ повышения производительности
Повышение производительности вычислительной системы может быть достигнуто

за счет уменьшения частоты страничных нарушений, а также за счет

увеличения скорости их обработки.
Таким образом, уменьшение частоты page faults является одной из ключевых задач системы управления памятью. Ее решение обычно связано с правильным выбором алгоритма замещения страниц.
ОПЕРАЦИОННЫЕ СИСТЕМЫАнализ повышения производительностиПовышение производительности вычислительной системы может быть достигнуто за счет уменьшения частоты страничных нарушений, а

Слайд 8ОПЕРАЦИОННЫЕ СИСТЕМЫ
Аппаратно-независимое управление виртуал. памятью
Стратегии управления страничной памятью

ОПЕРАЦИОННЫЕ СИСТЕМЫАппаратно-независимое управление виртуал. памятью Стратегии управления страничной памятью

Слайд 9ОПЕРАЦИОННЫЕ СИСТЕМЫ
Стратегия выборки (fetch policy)
В какой момент следует переписать страницу

из вторичной памяти в первичную?
Существует два основных варианта выборки —

по запросу и с упреждением.
Алгоритм выборки по запросу вступает в действие в тот момент, когда процесс обращается к отсутствующей странице, содержимое которой находится на диске.
Его реализация заключается в загрузке страницы с диска в свободную физическую страницу и коррекции соответствующей записи таблицы страниц.
ОПЕРАЦИОННЫЕ СИСТЕМЫСтратегия выборки (fetch policy)В какой момент следует переписать страницу из вторичной памяти в первичную?Существует два основных

Слайд 10ОПЕРАЦИОННЫЕ СИСТЕМЫ
Стратегия выборки (fetch policy)
Алгоритм выборки с упреждением осуществляет опережающее

чтение — кроме страницы, вызвавшей исключительную ситуацию, в память также

загружается несколько страниц, окружающих ее (обычно соседние страницы располагаются во внешней памяти последовательно).
Такой алгоритм уменьшает накладные расходы, связанные с большим количеством исключительных ситуаций, возникающих при работе со значительными объемами данных; кроме того, оптимизируется работа с диском.
ОПЕРАЦИОННЫЕ СИСТЕМЫСтратегия выборки (fetch policy)Алгоритм выборки с упреждением осуществляет опережающее чтение — кроме страницы, вызвавшей исключительную ситуацию,

Слайд 11ОПЕРАЦИОННЫЕ СИСТЕМЫ
Стратегия размещения (placement policy)
В какой участок первичной памяти поместить

поступающую страницу?
В системах со страничной организацией все просто — в

любой свободный страничный кадр.
В случае систем с сегментной организацией необходима стратегия, аналогичная стратегии с динамическим распределением.
ОПЕРАЦИОННЫЕ СИСТЕМЫСтратегия размещения (placement policy)В какой участок первичной памяти поместить поступающую страницу?В системах со страничной организацией все

Слайд 12ОПЕРАЦИОННЫЕ СИСТЕМЫ
Стратегия замещения (replacement policy)
Какую страницу нужно вытолкнуть во внешнюю

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

в соответствующем алгоритме замещения страниц, позволяет хранить в памяти самую необходимую информацию и тем самым снизить частоту страничных нарушений. Замещение должно происходить с учетом выделенного каждому процессу количества кадров и принадлежности процессу, который инициировал замещение.
ОПЕРАЦИОННЫЕ СИСТЕМЫСтратегия замещения (replacement policy)Какую страницу нужно вытолкнуть во внешнюю память, чтобы освободить место в оперативной памяти?Разумная

Слайд 13ОПЕРАЦИОННЫЕ СИСТЕМЫ
Аппаратно-независимое управление виртуал. памятью
Алгоритмы замещения страниц

ОПЕРАЦИОННЫЕ СИСТЕМЫАппаратно-независимое управление виртуал. памятью Алгоритмы замещения страниц

Слайд 14ОПЕРАЦИОННЫЕ СИСТЕМЫ
Действия ОС в случае отсутствия свободных страниц
Найти некоторую занятую

страницу основной памяти;
Переместить в случае надобности ее содержимое во внешнюю

память;
Переписать в этот страничный кадр содержимое нужной виртуальной страницы из внешней памяти;
Модифицировать необходимый элемент соответствующей таблицы страниц;
Продолжить выполнение процесса, вызвавшего эту виртуальную страницу.
ОПЕРАЦИОННЫЕ СИСТЕМЫДействия ОС в случае отсутствия свободных страницНайти некоторую занятую страницу основной памяти;Переместить в случае надобности ее

Слайд 15ОПЕРАЦИОННЫЕ СИСТЕМЫ
Оптимизация процесса замещения
При замещении приходится дважды передавать страницу между

основной и вторичной памятью. Процесс замещения может быть оптимизирован за

счет использования бита модификации. Бит модификации устанавливается, если хотя бы один байт был записан на страницу.
Если бит не установлен, нет необходимости переписывать данную страницу на диск. Метод применяется и к read-only-страницам, они никогда не модифицируются. Эта схема уменьшает время обработки page fault.
ОПЕРАЦИОННЫЕ СИСТЕМЫОптимизация процесса замещенияПри замещении приходится дважды передавать страницу между основной и вторичной памятью. Процесс замещения может

Слайд 16ОПЕРАЦИОННЫЕ СИСТЕМЫ
Аппаратная поддержка статистики обращения к памяти
Большинство процессоров имеют простейшие

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

включают два специальных флага на каждый элемент таблицы страниц. Флаг ссылки (reference бит) автоматически устанавливается, когда происходит любое обращение к этой странице, а флаг изменения (modify бит) устанавливается, если производится запись в эту страницу.
ОС периодически проверяет установку таких флагов, для того чтобы выделить активно используемые страницы, после чего значения этих флагов сбрасываются.
ОПЕРАЦИОННЫЕ СИСТЕМЫАппаратная поддержка статистики обращения к памятиБольшинство процессоров имеют простейшие аппаратные средства, позволяющие собирать статистику обращений к

Слайд 17ОПЕРАЦИОННЫЕ СИСТЕМЫ
Эффективность алгоритма
Оценивается на конкретной последовательности ссылок к памяти,

для которой подсчитывается число возникающих page faults.
Эта последовательность называется строкой

обращений (reference string).
Мы можем генерировать строку обращений искусственным образом при помощи датчика случайных чисел или трассируя конкретную систему.
ОПЕРАЦИОННЫЕ СИСТЕМЫЭффективность алгоритма Оценивается на конкретной последовательности ссылок к памяти, для которой подсчитывается число возникающих page faults.Эта

Слайд 18ОПЕРАЦИОННЫЕ СИСТЕМЫ
Аппаратно-независимое управление виртуал. памятью
Выталкивание первой пришедшей страницы. Алгоритм

FIFO.

ОПЕРАЦИОННЫЕ СИСТЕМЫАппаратно-независимое управление виртуал. памятью Выталкивание первой пришедшей страницы. Алгоритм FIFO.

Слайд 19ОПЕРАЦИОННЫЕ СИСТЕМЫ
Реализация алгоритма
Простейший алгоритм.
Каждой странице присваивается временная метка. Реализуется это

просто созданием очереди страниц, в конец которой страницы попадают, когда

загружаются в физическую память, а из начала берутся, когда требуется освободить память. Для замещения выбирается старейшая страница.
К сожалению, эта стратегия с достаточной вероятностью будет приводить к замещению активно используемых страниц.
ОПЕРАЦИОННЫЕ СИСТЕМЫРеализация алгоритмаПростейший алгоритм.Каждой странице присваивается временная метка. Реализуется это просто созданием очереди страниц, в конец которой

Слайд 20ОПЕРАЦИОННЫЕ СИСТЕМЫ
Аномалия Билэди (Belady)
На первый взгляд кажется очевидным, что

чем больше в памяти страничных кадров, тем реже будут иметь

место page faults.
Удивительно, но это не всегда так. Как установил Билэди с коллегами, определенные последовательности обращений к страницам в действительности приводят к увеличению числа страничных нарушений при увеличении кадров, выделенных процессу. Это явление носит название «аномалии Билэди» или «аномалии FIFO».
ОПЕРАЦИОННЫЕ СИСТЕМЫАномалия Билэди (Belady) На первый взгляд кажется очевидным, что чем больше в памяти страничных кадров, тем

Слайд 21ОПЕРАЦИОННЫЕ СИСТЕМЫ
Пример аномалии Билэди
9 pf
10 pf

ОПЕРАЦИОННЫЕ СИСТЕМЫПример аномалии Билэди 9 pf10 pf

Слайд 22ОПЕРАЦИОННЫЕ СИСТЕМЫ
Аппаратно-независимое управление виртуал. памятью
Оптимальный алгоритм. Алгоритм OPT

ОПЕРАЦИОННЫЕ СИСТЕМЫАппаратно-независимое управление виртуал. памятью Оптимальный алгоритм. Алгоритм OPT

Слайд 23ОПЕРАЦИОННЫЕ СИСТЕМЫ
Поиск оптимального алгоритма
Одним из последствий открытия аномалии Билэди стал

поиск оптимального алгоритма, который при заданной строке обращений имел бы

минимальную частоту page faults среди всех других алгоритмов.
Такой алгоритм был найден. Он прост: замещай страницу, которая не будет использоваться в течение самого длительного периода времени.
ОПЕРАЦИОННЫЕ СИСТЕМЫПоиск оптимального алгоритмаОдним из последствий открытия аномалии Билэди стал поиск оптимального алгоритма, который при заданной строке

Слайд 24ОПЕРАЦИОННЫЕ СИСТЕМЫ
Реализация алгоритма OPT
Каждая страница должна быть помечена числом инструкций,

которые будут выполнены, прежде чем на эту страницу будет сделана

первая ссылка. Выталкиваться должна страница, для которой это число наибольшее.
Этот алгоритм легко описать, но реализовать невозможно. ОС не знает, к какой странице будет следующее обращение. (Ранее такие проблемы возникали при планировании процессов — алгоритм SJF).
ОПЕРАЦИОННЫЕ СИСТЕМЫРеализация алгоритма OPTКаждая страница должна быть помечена числом инструкций, которые будут выполнены, прежде чем на эту

Слайд 25ОПЕРАЦИОННЫЕ СИСТЕМЫ
Применение алгоритма OPT
Зато мы можем сделать вывод, что для

того, чтобы алгоритм замещения был максимально близок к идеальному алгоритму,

система должна как можно точнее предсказывать обращения процессов к памяти.
Данный алгоритм применяется для оценки качества реализуемых алгоритмов.
ОПЕРАЦИОННЫЕ СИСТЕМЫПрименение алгоритма OPTЗато мы можем сделать вывод, что для того, чтобы алгоритм замещения был максимально близок

Слайд 26ОПЕРАЦИОННЫЕ СИСТЕМЫ
Аппаратно-независимое управление виртуал. памятью
Выталкивание дольше всего не использовавшейся

страницы. Алгоритм LRU

ОПЕРАЦИОННЫЕ СИСТЕМЫАппаратно-независимое управление виртуал. памятью Выталкивание дольше всего не использовавшейся страницы. Алгоритм LRU

Слайд 27ОПЕРАЦИОННЫЕ СИСТЕМЫ
Приближение к алгоритму OPT
Недавнее прошлое — хороший ориентир

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

течение самого долгого времени. Такой подход называется least recently used алгоритм (LRU).

8 pf

ОПЕРАЦИОННЫЕ СИСТЕМЫПриближение к алгоритму OPT Недавнее прошлое — хороший ориентир для прогнозирования ближайшего будущего. Замещаем страницу, которая

Слайд 28ОПЕРАЦИОННЫЕ СИСТЕМЫ
Реализация алгоритма LRU
Сравнивая примеры алгоритмов FIFO и LRU можно

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


LRU — хороший, но труднореализуемый алгоритм. Необходимо иметь связанный список всех страниц в памяти, в начале которого будут хранится недавно использованные страницы. Причем этот список должен обновляться при каждом обращении к памяти. Много времени нужно и на поиск страниц в таком списке.
ОПЕРАЦИОННЫЕ СИСТЕМЫРеализация алгоритма LRUСравнивая примеры алгоритмов FIFO и LRU можно увидеть, что использование LRU алгоритма позволяет сократить

Слайд 29ОПЕРАЦИОННЫЕ СИСТЕМЫ
Аппаратно-независимое управление виртуал. памятью
Выталкивание редко используемой страницы. Алгоритм

NFU

ОПЕРАЦИОННЫЕ СИСТЕМЫАппаратно-независимое управление виртуал. памятью Выталкивание редко используемой страницы. Алгоритм NFU

Слайд 30ОПЕРАЦИОННЫЕ СИСТЕМЫ
Программная реализация алгоритма близкого к LRU
Поскольку большинство современных процессоров

не предоставляют соответствующей аппаратной поддержки для реализации алгоритма LRU, хотелось

бы иметь алгоритм, достаточно близкий к LRU, но не требующий специальной поддержки.
Программная реализация алгоритма, близкого к LRU, — алгоритм NFU (Not Frequently Used).
ОПЕРАЦИОННЫЕ СИСТЕМЫПрограммная реализация алгоритма близкого к LRUПоскольку большинство современных процессоров не предоставляют соответствующей аппаратной поддержки для реализации

Слайд 31ОПЕРАЦИОННЫЕ СИСТЕМЫ
Работа алгоритма NFU
Для него требуются программные счетчики, по одному

на каждую страницу, которые сначала равны нулю.
При каждом прерывании по

времени (а не после каждой инструкции) ОС сканирует все страницы в памяти и у каждой страницы с установленным флагом обращения увеличивает на единицу значение счетчика, а флаг обращения сбрасывает.
Кандидатом на освобождение оказывается страница с наименьшим значением счетчика, т.к. к ней реже всего обращались.
ОПЕРАЦИОННЫЕ СИСТЕМЫРабота алгоритма NFUДля него требуются программные счетчики, по одному на каждую страницу, которые сначала равны нулю.При

Слайд 32ОПЕРАЦИОННЫЕ СИСТЕМЫ
Недостаток алгоритма NFU
Главный недостаток алгоритма NFU состоит в том,

что он ничего не забывает. Страница, к которой очень часто

обращались в течение некоторого времени, а потом обращаться перестали, все равно не будет удалена из памяти, потому что ее счетчик содержит большую величину.
Например, в многопроходных компиляторах страницы, активно использовавшиеся во время 1-го прохода, могут надолго сохранить большие значения счетчика, мешая загрузке полезных в дальнейшем страниц.
ОПЕРАЦИОННЫЕ СИСТЕМЫНедостаток алгоритма NFUГлавный недостаток алгоритма NFU состоит в том, что он ничего не забывает. Страница, к

Слайд 33ОПЕРАЦИОННЫЕ СИСТЕМЫ
Недостаток алгоритма NFU
Возможна небольшая модификация алгоритма, которая позволяет ему

«забывать». Достаточно, чтобы при каждом прерывании по времени содержимое счетчика

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

Другим, уже более устойчивым недостатком алгоритма является длительность процесса сканирования таблиц страниц.
ОПЕРАЦИОННЫЕ СИСТЕМЫНедостаток алгоритма NFUВозможна небольшая модификация алгоритма, которая позволяет ему «забывать». Достаточно, чтобы при каждом прерывании по

Слайд 34ОПЕРАЦИОННЫЕ СИСТЕМЫ
Аппаратно-независимое управление виртуал. памятью
Другие алгоритмы

ОПЕРАЦИОННЫЕ СИСТЕМЫАппаратно-независимое управление виртуал. памятью Другие алгоритмы

Слайд 35ОПЕРАЦИОННЫЕ СИСТЕМЫ
Алгоритм Second-Chance
Модификация алгоритма FIFO, которая позволяет избежать потери

часто используемых страниц с помощью анализа флага обращений для самой

старой страницы. Если флаг установлен, то страница, в отличие от алгоритма FIFO, не выталкивается, а ее флаг сбрасывается, и страница переносится в конец очереди. Если первоначально флаги обращений были установлены для всех страниц, алгоритм Second-Chance превращается в алгоритм FIFO. Использовался в Multics и BSD Unix.
ОПЕРАЦИОННЫЕ СИСТЕМЫАлгоритм Second-Chance Модификация алгоритма FIFO, которая позволяет избежать потери часто используемых страниц с помощью анализа флага

Слайд 36ОПЕРАЦИОННЫЕ СИСТЕМЫ
Другие алгоритмы
В компьютере Macintosh (MacOS) использован алгоритм NRU (Not

Recently-Used), где страница-«жертва» выбирается на основе анализа битов модификации и

ссылки.
Интересные стратегии, основанные на буферизации страниц, реализованы в VAX/VMS и Mach.
ОПЕРАЦИОННЫЕ СИСТЕМЫДругие алгоритмыВ компьютере Macintosh (MacOS) использован алгоритм NRU (Not Recently-Used), где страница-«жертва» выбирается на основе анализа

Слайд 37ОПЕРАЦИОННЫЕ СИСТЕМЫ
Аппаратно-независимое управление виртуал. памятью
ВОПРОСЫ

ОПЕРАЦИОННЫЕ СИСТЕМЫАппаратно-независимое управление виртуал. памятью ВОПРОСЫ

Слайд 38ОПЕРАЦИОННЫЕ СИСТЕМЫ
Вопрос 1
Таблица страниц процесса — это:
структура, используемая для отображения

логического адресного пространства в физическое при страничной организации памяти
структура, организованная

для учета свободных и занятых страничных блоков
структура, организованная для контроля доступа к страницам процесса
ОПЕРАЦИОННЫЕ СИСТЕМЫВопрос 1	Таблица страниц процесса — это:структура, используемая для отображения логического адресного пространства в физическое при страничной

Слайд 39ОПЕРАЦИОННЫЕ СИСТЕМЫ
Вопрос 2
Какую стратегию управления памятью может реализовать алгоритм выталкивания

страниц LRU?
стратегию размещения страницы в памяти при наличии списка свободных

кадров;
стратегию упреждающей выборки, когда кроме страницы, вызвавшей исключительную ситуацию, в память также загружается несколько страниц, окружающих ее;
стратегию замещения.
ОПЕРАЦИОННЫЕ СИСТЕМЫВопрос 2	Какую стратегию управления памятью может реализовать алгоритм выталкивания страниц LRU?стратегию размещения страницы в памяти при

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика