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

Содержание

Одиночное непрерывное распределение Распределение разделами Распределение перемещаемыми разделами Страничное распределение Сегментное распределение Сегментно-страничное распределение Управление оперативной памятью Основные концепции Необходимые аппаратные средства Основные алгоритмы Достоинства, недостатки Стратегии и методы управления План

Слайд 1Управление оперативной памятью
Контроль состояния каждой единицы памяти (свободна/распределена)
Стратегия распределения памяти (кому,

когда и сколько памяти должно быть выделено)
Выделение памяти (выбор конкретной области, которая должна быть выделена)
Стратегия освобождения памяти (процесс освобождает, ОС “забирает” окончательно или временно)

Основные задачи


Слайд 2Одиночное непрерывное распределение
Распределение разделами
Распределение перемещаемыми разделами
Страничное распределение
Сегментное распределение
Сегментно-страничное распределение
Управление оперативной памятью
Основные

концепции
Необходимые аппаратные средства
Основные алгоритмы
Достоинства, недостатки

Стратегии и методы управления

План рассмотрения стратегий управления


Слайд 3Одиночное непрерывное распределение
Основные концепции
Реально
используется
Выделено, но
не используется
Доступно
(выделено)
ОС






Слайд 4Одиночное непрерывное распределение
Регистр границ + режим ОС / режим пользователя
Если ЦП

в режиме пользователя попытается обратиться в область ОС, то возникает прерывание

Алгоритмы: очевидны.

Часть памяти не используется
Процессом/заданием память занимается все время выполнения
Ограничение на размеры задания

Достоинства: простота.

Необходимые аппаратные средства

Недостатки


Слайд 5Распределение неперемещаемыми разделами
Основные концепции



Раздел1
Раздел2
РазделN


N входных очередей
(Вариант А)
Одна очередь
(Вариант B)


Слайд 6Распределение неперемещаемыми разделами
Два регистра границ
Ключи защиты (PSW)
Необходимые аппаратные средства


Слайд 7Распределение неперемещаемыми разделами
Модель статического определения разделов
А. Сортировка входной очереди процессов по отдельным

очередям к разделам. Процесс размещается в разделе минимального размера, достаточного для размещения данного процесса. В случае отсутствия процессов в каких-то подочередях — неэффективность использования памяти.

Алгоритмы


Слайд 8Распределение неперемещаемыми разделами
Модель статического определения разделов
Б. Одна входная очередь процессов
Освобождение раздела ⇒

поиск (в начале очереди) первого процесса, который может разместиться в разделе.
Проблема: большие разделы ↔ маленькие процессы
Освобождение раздела ⇒ поиск процесса максимального размера, не превосходящего размер раздела.
Проблема: дискриминация «маленьких» процессов
Оптимизация варианта 2. Каждый процесс имеет счетчик дискриминации. Если значение счетчика процесса ≥ K, то обход его в очереди невозможен

Алгоритмы


Слайд 9Распределение неперемещаемыми разделами
Фрагментация
Ограничение размерами физической памяти
Весь процесс размещается в памяти —

возможно неэффективное использование

Простое средство организации мультипрограммирования
Простые средства аппаратной поддержки
Простые алгоритмы

Достоинства

Недостатки


Слайд 10Распределение перемещаемыми разделами
Основные концепции
Виртуальная память
Процесс4
(например, V = V2+ ½ V5 )


Слайд 11Распределение перемещаемыми разделами
Регистры границ + регистр базы
Ключи + регистр базы
Алгоритмы:
Необходимые аппаратные

средства

Слайд 12Распределение перемещаемыми разделами
Ограничение размером физической памяти
Затраты на перекомпоновку
Ликвидация фрагментации
Достоинства
Недостатки


Слайд 13Страничное распределение
Основные концепции
Виртуальное
адресное пространство

виртуальная
страница
Пространство
физической памяти
Таблица страниц


Слайд 14Страничное распределение
Таблица страниц — отображение номеров виртуальных страниц на номера физических.
Основные

концепции

Размер таблицы страниц (количество 4KB страниц при 32-х разрядной адресации — 1 000 000; любой процесс имеет собственную таблицу страниц)
Скорость отображения

Проблемы

 

 

 

 

 

 

 

 

 

         

         


Слайд 15Страничное распределение
Полностью аппаратная таблица страниц (стоимость, полная перегрузка при смене контекстов,

скорость преобразования)
Таблица страниц в ОЗУ + Регистр начала таблицы страниц в памяти (простота, управление смены контекстов, медленное преобразование)
Гибридные решения

Необходимые аппаратные средства


Слайд 16Страничное распределение
Размер и организация таблицы страниц ???
α — присутствие/отсутствие
β — защита (чтение, чтение/запись,

выполнение)
γ — изменения
δ — обращение (чтение, запись, выполнение)
ε — ……………………..

Алгоритмы и организация данных

Модельная структура записи таблицы страниц


Слайд 17TLB (Translation Lookaside Buffer)
TLB
miss
hit
Виртуальный адрес
Физический
адрес
Таблица
страниц
Физическая
память


Слайд 18Иерархическая организация таблицы страниц
Пример
Проблема — размер таблицы страниц.
Объем виртуальной памяти современного

компьютера — 232…264 байт


Vвирт.= 232

Vстр. = 212 (4KB)


Количество виртуальных страниц — 220 (много)

Решение — использование многоуровневых таблиц страниц (2х, 3х, 4х)


Слайд 19Иерархическая организация таблицы страниц
Двухуровневая организация

10

10

12

20

Индекс по «внешней» таблице страниц
Смещение по странице,

указанной через VP1


12


Слайд 20
Иерархическая организация таблицы страниц
Внешняя таблица страниц
Таблица страниц второго уровня
Физическая память
VP2
VP1


Слайд 21Использование хэш-таблиц (функция расстановки)


Физическая
память
f(VP)
Хэш
таблица
Хэш
функция


Слайд 22Инвертированные таблицы страниц

поиск:

FP
Таблица страниц
Проблема — поиск по таблице (хэширование)
Решение проблемы перезагрузки

таблицы страниц при смене обрабатываемых ЦП процессов

Слайд 23Замещение страниц
Проблема загрузки «новой» страницы в память. Необходимо выбрать страницу для

удаления из памяти (с учетом ее модификации и пр.)

Алгоритм NRU (Not Recently Used — не использовавшийся в последнее время)

Используются биты статуса страницы в записях таблицы страниц

R — обращение

M — изменение



устанавливаются аппаратно

обнуление — программно (ОС)


Слайд 24Замещение страниц
Алгоритм
При запуске процесса M и R для всех страниц процесса

обнуляются
По таймеру происходит обнуление всех битов R
При возникновении страничного прерывания ОС делит все страниц на классы:
Класс 0:
Класс 1:
Класс 2:
Класс 3:
Случайная выборка страницы для удаления в непустом классе с минимальным номером

Слайд 25Замещение страниц
Стратегия: лучше выгрузить измененную страницу, к которой не было обращений

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

Слайд 26Замещение страниц
Алгоритм FIFO
«Первым прибыл — первым удален» — простейший вариант FIFO.

Проблема «справедливости»

Выбирается самая «старая страница». Если R=0, то она заменяется
Если R = 1, то R обнуляется, обновляется время загрузки страницы в память (т.е. переносится в конец очереди). На п.1

Модификация алгоритма (алгоритм вторая попытка)


Слайд 27Замещение страниц
Алгоритм «Часы»

Если R = 0, то выгрузка страницы и стрелка

на позицию вправо
Если R = 1, то R обнуляется, стрелка на позицию вправо и на п.1


















Слайд 28Замещение страниц
Алгоритм NFU (Not Frequently Used — редко использовавшаяся страница)
Для каждой

физической страницы i – программный счетчик Counti
0. Изначально Counti – обнуляется для всех i.
1. По таймеру Counti = Counti + Ri
Выбор страницы с минимальным значением Counti

«помнит» старую активность
при большой активности, возможно переполнение счетчика

Недостатки


Слайд 29Замещение страниц
Модификация NFU — алгоритм старения
Модификация:
Значение счетчика сдвигается на 1 разряд

вправо
Значение R добавляется в крайний левый разряд счетчика

Слайд 30Сегментная организация памяти
Виртуальное адресное пространство представляется в виде совокупности сегментов
Каждый сегмент

имеет свою виртуальную адресацию (от 0 до N – 1)
Виртуальный адрес: <номер_сегмента, смещение>

Основные концепции


Слайд 31Сегментная организация памяти
Виртуальный адрес:

Nseg
Таблица
сегментов
offset > size

да
Прерывание
нет
base + offset
Физический
адрес
Необходимые аппаратные средства


Слайд 32Сегментно-страничная организация памяти
Основные концепции:


Слайд 33Сегментно-страничная организация памяти
Модельный пример (Intel):
Таблицы локальных дескрипторов
(сегменты

доступные для данного процесса) LDT (Local Descriptor Table)

Таблица глобальных дескрипторов
(разделяемые между процессами сегменты) GDT (Global Descriptor Table)

Каждая запись LDT и GDT – полная информация о
сегменте (адрес базы, размер и т.д.).

Виртуальный адрес:


Слайд 34Сегментно-страничная организация памяти
Необходимые аппаратные средства
10
10
12
использование селектора и
содержимого таблиц LDT и

GDT

двухуровневая страничная организация


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

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

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

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

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


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

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