Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
04-11-12 Управление памятью.DOC
Скачиваний:
11
Добавлен:
23.08.2019
Размер:
2.22 Mб
Скачать

Лекція №10 Управління пам'яттю

  1. Основні поняття і вимоги до управління пам'яттю

    1. Переміщення

    2. Захист

    3. Спільне використання

    4. Типи адрес

  2. Розподіл пам'яті без використання дискового простору

    1. Розподіл пам'яті фіксованими розділами

    2. Динамічний розподіл пам'яті

    3. Переміщувані розділи

    4. Система двійників

  3. Розподіл пам'яті з використанням дискового простору

    1. Поняття віртуальної пам'яті

    2. Сторінковий розподіл

    3. Сегментний розподіл

    4. Сторінково-сегментний розподіл

    5. Стопінг

    6. Стратегії управління сторінковою пам'яттю

  4. Основні алгоритми заміщення сторінок

    1. Оптимальний алгоритм (OPT)

    2. Виштовхування сторінки, яка найдовше не використовувалася (LRU)

    3. Першим увійшов - першим вийшов (FIFO)

    4. Часовий алгоритм

    5. Буферизація сторінок

    6. Стратегія заміщення і розмір кешу

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

  • отслеживание свободной и занятой памяти;

  • выделение памяти процессам и освобождение памяти при завершении процессов;

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

  • настройка адресов программы на конкретную область физической памяти.

10.1. Основные понятия и требования к управлению памятью

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

10.1.1. Перемещение

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

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