Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VSOS_2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.9 Mб
Скачать
    1. Смежное размещение процессов

Методы размещения процессов в основной памяти по отношению к расположению участков памяти, выделенных для процесса, делят на два класса:

  • методы смежного размещения (Contiguous allocation);

  • методы несмежного размещения.

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

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

ОП должна использоваться как ОС, так и программами пользователя. Поэтому при смежном размещении она обычно делится на две части:

  • для резидентной части (ядра) ОС;

  • для пользовательских процессов.

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

31Простое непрерывное распределение

Пользователю выделяется область памяти, расположенная непосредственно за фиксированной областью, отведенной под ядро. Эта область память ограничивается регистрами базы и границы. Регистр базы содержит начальный адрес в оперативной памяти. Регистр границы содержит число допустимых логических адресов. Любой логический адрес должен быть меньше регистра границы. Это обеспечивает защиту операционной системы (см. рис. 11.4).

Рисунок 11.28 - Защита памяти с помощью регистра границы

При простом непрерывном распределении имеются два основных вида потерь:

  • невозможно использовать процессор, когда пользователь ждет;

  • не используется часть ОП, которая не занята ядром и текущей программой пользователя.

32Распределение с несколькими непрерывными разделами

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

Простейшее решение – разделить доступную оперативную память на несколько разделов фиксированного размера (Multiprogramming with Fixed number of Tasks – MFT). Каждый раздел содержит один процесс, то есть степень мультизадачности системы будет равна числу разделов. Такой подход использовался в OS/360 IBM, но недолго. Метод распределения памяти с фиксированными границами разделов нелегко приспособить к меняющемуся числу задач. Кроме того возможна недопустимая фрагментация.

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

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

Рисунок 11.29 – Действия планировщика при размещении процессов в памяти

Когда процесс завершается, освобождаемый блок помещается в список свободных блоков. Если свободны два соседних блока, то они объединяются в один блок большего размера.

Существует несколько стратегий выбора свободной области:

  • Стратегия наиболее подходящего (Best-fit Strategy). Выбирается программа, которой в свободном разделе наиболее «тесно».

  • Стратегия первого подходящего (First-fit Strategy). Выбирается программа, которая помещается в свободный раздел.

  • Стратегия наименее подходящего (Last-fit Strategy). Выбирается программа, которой в свободном разделе наиболее «свободно». В этом случае остающийся фрагмент часто достаточен для размещения еще одной программы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]