Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OSSO.docx
Скачиваний:
20
Добавлен:
21.08.2019
Размер:
175.27 Кб
Скачать

Распределение памяти динамическими разделами.

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

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

Динамическое распределение памяти перемещаемыми разделами.

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

На ОС при выполнении функций управления памяти возлагаются следующие функции:

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

  2. Коррекция таблиц свободных и занятых областей.

  3. Изменение адресов команд и данных, к которым обращаются процессы при перемещении в памяти за счет использования относительной адресации.

  4. Аппаратная поддержка процесса динамического преобразования относительных адресов в абсолютные адреса основной памяти.

  5. Защита памяти выделяемой процессом от взаимного влияния других процессов.

Уплотнение выполняется либо при каждом завершении процесса, либо только тогда, когда для вновь создаваемого процесса нет свободного раздела достаточного размера. В 1 случае требуется меньше вычислительной работы при корректировке таблиц свободных и занятых областей, а во втором случае реже выполняется процедура сжатия.

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

Достоинство: Эффективное использование ОП, исключающее внутреннюю и внешнюю фрагментацию.

Недостаток: дополнительные накладные расходы, возлагаемые на ОС.

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

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