- •Лекція №10 Управління пам'яттю
- •10.1. Основные понятия и требования к управлению памятью
- •10.1.1. Перемещение
- •10.1.2. Защита
- •10.1.3. Совместное использование
- •10.1.4. Типы адресов
- •10.2. Распределение памяти без использования дискового пространства
- •10.2.1. Распределение памяти фиксированными разделами
- •10.2.2. Динамическое распределение памяти
- •10.2.3. Перемещаемые разделы
- •10.2.4. Система двойников
- •10.3. Распределение памяти с использованием дискового пространства
- •10.3.1. Понятие виртуальной памяти
- •10.3.2. Страничное распределение
- •10.3.3. Сегментное распределение
- •10.3.4. Странично-сегментное распределение
- •10.3.5. Свопинг
- •10.3.6. Стратегии управления страничной памятью
- •Основные алгоритмы замещения страниц
- •Оптимальный алгоритм (opt)
- •Выталкивание дольше всего не использовавшейся страницы (lru)
- •Часовой алгоритм
- •Буферизация страниц
- •Стратегия замещения и размер кэша
Лекція №10 Управління пам'яттю
Основні поняття і вимоги до управління пам'яттю
Переміщення
Захист
Спільне використання
Типи адрес
Розподіл пам'яті без використання дискового простору
Розподіл пам'яті фіксованими розділами
Динамічний розподіл пам'яті
Переміщувані розділи
Система двійників
Розподіл пам'яті з використанням дискового простору
Поняття віртуальної пам'яті
Сторінковий розподіл
Сегментний розподіл
Сторінково-сегментний розподіл
Стопінг
Стратегії управління сторінковою пам'яттю
Основні алгоритми заміщення сторінок
Оптимальний алгоритм (OPT)
Виштовхування сторінки, яка найдовше не використовувалася (LRU)
Першим увійшов - першим вийшов (FIFO)
Часовий алгоритм
Буферизація сторінок
Стратегія заміщення і розмір кешу
Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и самые старшие адреса. Функциями ОС по управлению памятью являются:
отслеживание свободной и занятой памяти;
выделение памяти процессам и освобождение памяти при завершении процессов;
вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место;
настройка адресов программы на конкретную область физической памяти.
10.1. Основные понятия и требования к управлению памятью
При рассмотрении разных механизмов и стратегий, которые связанные с управлением памятью, полезно понимать требования, которым они должны удовлетворять.
10.1.1. Перемещение
В многозадачной системе доступная основная память распределяется между многими процессами. Обычно программист не знает, какие программы будут резидентно находиться в основной памяти, во время выполнения его программы. Кроме того, для максимальной загрузки процессора желательно иметь большой пул (буфер) готовых к выполнению процессов. Для этого необходимо загружать и выгружать активные процессы из основной памяти. Требование, чтобы выгруженная из памяти программа была снова загружена в одно и то же место, где она была раньше, было бы большим ограничением. Поэтому крайне желательно, чтобы программа могла быть перемещена в другой участок памяти.
Таким образом, заранее неизвестно, где именно будет размещена программа, кроме того, программа может быть перемещена с одной области памяти в другую в случае окончания другой программы. Очевидно, что ОС необходимо знать местоположение управляющей информации процесса, а также точки входа для начала выполнения процесса. Поскольку управлением памяти занимается ОС, и она же размещает процесс у основной памяти, то соответствующие адреса она получает автоматически.