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

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

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

Алгоритмы:

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

2)Наиболее подходящий – из всех свободных участков памяти выбирается тот, для кот.разницей величиной запроса и величиной участка = min

3)Наименее подходящий – находиться самый большой участок памяти, и он делится на 2 части:

-Участок, равный размерам запроса

-Остаток свободной памяти.

41. Особенности использования перемещаемых разделов при управлении оперативной памятью.

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

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

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

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

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

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

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

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

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

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

Концепция сжатия применяется и при использовании других методов распределения памяти, когда отдельному процессу выделяется не одна сплошная область памяти, а несколько несмежных участков памяти произвольного размера (сегментов). Такой подход был использован в ранних версиях OS/2, в которых память распределялась сегментами, а возникавшая при этом фрагментация устранялась путем периодического перемещения сегментов.

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