Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОперационныеСистемы, общие понятия.docx
Скачиваний:
140
Добавлен:
08.02.2015
Размер:
366.4 Кб
Скачать

Организация памяти на основе мультипрограммирования. (20-1)

Мультипрограммирование — способ организации выполнения нескольких программ на одном компьютере.

Организация памяти на основе мультипрограммирования с фиксированными разделами.

ОП разбивается на ряд разделов фиксированного размера (размеры могут быть разными). В каждом разделе может выполняться одна программа. Формируется очередь программ для каждого из разделов.

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

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

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

Организация памяти на основе мультипрограммирования с переменными разделами.

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

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

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

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

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

Это концепция связного распределения памяти.

Организация памяти на основе свопинга. Битовые карты и связный список свободных и занятых блоков. (21-1) Свопинг

(обычная подкачка)

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

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

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

В настоящее время разработана система со свопингом, позволяющая размещать в ОП сразу несколько программ.

ОС со свопингом называется ОС с разделением времени.

Битовые карты и связный список свободных и занятых блоков.

Существует два способа учета использования памяти:

  • Применение битовых карт.

  • Список свободных участков.

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

В битовой карте каждому свободному блоку соответствует 1 бит равный 0, а каждому занятому – бит равный 1.

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