Управление памятью.

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

  1. Будем ли мы помещать в основную память только одну программу пользователя или несколько программ одновременно.
  2. Если в основной памяти размещается программ сразу, будем ли мы предоставлять каждой из них одинаковое количество ячеек памяти или разобьем ее на части (разделы) различных размеров.
  3. Будем ли разбивать основную память жестким образом, т.е. разделы определяются на достаточно длительное время, либо динамически, позволяя компьютеру быстро реагировать на изменения потребностей программы в ресурсах.
  4. Будем ли мы требовать такого построения программы пользователя, чтобы они выполнялись только в конкретном разделе, либо предусмотрим возможность выполнения программы с занятием любых подходящих для них разделов.
  5. Будем ли мы требовать, чтобы каждая программа помещалась в одном, непрерывном блоке ячеек памяти, либо допустим возможность разбиения программы на отдельные блоки, размещаемые в любых свободных участках (дырах) основной памяти.

Иерархия памяти.
Чтобы программы можно было выполнять, они должны находиться в основной памяти, а программы и данные, которые в настоящий момент не нужны, можно хранить во внешней памяти.
Современные ОС поддерживают 3 уровня памяти:

Иерархическая организация памяти:

Стратегии управления памятью.
Стратегии направлены на то, чтобы обеспечить наилучшее возможное использование ресурсов основной памяти.
Категории управления памятью.

  1. Стратегии выборки. Ставят своей целью определить, когда следует "втолкнуть" очередной блок программы в основную память.
    • по запросу (по требованию). Очередной блок программы или данных загружается, когда его запрашивает работающая программа.
    • стратегии упреждающей выборки. ОС заранее предугадывает, какой блок программы или данных будет востребован, значит, он и будет заранее загружен в основную память.
  2. Стратегии размещения. Целью является определить, в какое место основной памяти следует помещать поступающую программу. Используются стратегии размещения:
    • "первого подходящего"
    • "наиболее подходящего"
    • "наименее подходящего" - по размерам свободного участка памяти.
  3. Стратегии замещения. Ставят целью определить, какой блок программы или данных следует вытеснить из основной памяти, чтобы освободить место для записи последующих программ и данных.

 

№8