Управление памятью.
Организация и управление основной памятью компьютера - один из самых важных факторов, определяющих построение ОС. Для непосредственного выполнения программ или обращения к данным необходимо, чтобы они размещались в основной памяти.
Вторичная, или внешняя память (жесткий диск), хранит множество программ и данных, которые должны быть наготове для обработки, т.е. загружены в основную память.
Организация памяти.
Под организацией памяти понимается, каким образом предоставляется и используется основная память, т.е. необходимо дать ответы на следующие вопросы:
- Будем ли мы помещать в основную память только одну программу пользователя или несколько программ одновременно.
- Если в основной памяти размещается программ сразу, будем ли мы предоставлять каждой из них одинаковое количество ячеек памяти или разобьем ее на части (разделы) различных размеров.
- Будем ли разбивать основную память жестким образом, т.е. разделы определяются на достаточно длительное время, либо динамически, позволяя компьютеру быстро реагировать на изменения потребностей программы в ресурсах.
- Будем ли мы требовать такого построения программы пользователя, чтобы они выполнялись только в конкретном разделе, либо предусмотрим возможность выполнения программы с занятием любых подходящих для них разделов.
- Будем ли мы требовать, чтобы каждая программа помещалась в одном, непрерывном блоке ячеек памяти, либо допустим возможность разбиения программы на отдельные блоки, размещаемые в любых свободных участках (дырах) основной памяти.
Иерархия памяти.
Чтобы программы можно было выполнять, они должны находиться в основной памяти, а программы и данные, которые в настоящий момент не нужны, можно хранить во внешней памяти.
Современные ОС поддерживают 3 уровня памяти:
- кэш-память
- основная
- внешняя
Иерархическая организация памяти:
Стратегии управления памятью.
Стратегии направлены на то, чтобы обеспечить наилучшее возможное использование ресурсов основной памяти.
Категории управления памятью.
- Стратегии выборки. Ставят своей целью определить, когда следует "втолкнуть" очередной блок программы в основную память.
- по запросу (по требованию). Очередной блок программы или данных загружается, когда его запрашивает работающая программа.
- стратегии упреждающей выборки. ОС заранее предугадывает, какой блок программы или данных будет востребован, значит, он и будет заранее загружен в основную память.
- Стратегии размещения. Целью является определить, в какое место основной памяти следует помещать поступающую программу. Используются стратегии размещения:
- "первого подходящего"
- "наиболее подходящего"
- "наименее подходящего" - по размерам свободного участка памяти.
- Стратегии замещения. Ставят целью определить, какой блок программы или данных следует вытеснить из основной памяти, чтобы освободить место для записи последующих программ и данных.
№8