![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Методы распределения памяти без использования дискового пространства подразделяются на:
· распределение памяти фиксированными разделами;
· распределение памяти разделами переменной величины.
Распределение памяти фиксированными разделами. Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины. Очередная задача, поступившая на выполнение, помещается либо в общую очередь, либо в очередь к некоторому разделу.
Подсистема управления памятью в этом случае выполняет следующие задачи:
· выбирает подходящий раздел, сравнивая размер программы, поступившей на выполнение, и свободных разделов;
· осуществляет загрузку программы и настройку адресов.
Преимущество – простота реализации. Недостаток – жесткость. Так как в каждом разделе может выполняться только одна программа, то уровень мультипрограммирования заранее ограничен числом разделов. Даже если программа имеет небольшой объем, она будет занимать весь раздел, что приводит к неэффективному использованию памяти.
Распределение памяти разделами переменной величины. В этом случае память машины не делится заранее на разделы. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. После завершения задачи память освобождается, и на это место может быть загружена другая задача. Таким образом, в произвольный момент времени оперативная память представляет собой случайную последовательность занятых и свободных разделов произвольного размера.
Задачами операционной системы при реализации данного метода управления памятью является:
· ведение таблиц свободных и занятых разделов, в которых указываются начальные адреса и размеры участков памяти;
· при поступлении новой задачи – анализ запроса, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения поступившей задачи;
· загрузка задачи в выделенный ей раздел;
· корректировка таблиц свободных и занятых областей.
Выбор раздела для вновь поступившей задачи может осуществляться по разным правилам:
· первый попавшийся раздел достаточного размера;
· раздел, имеющий наименьший достаточный размер.
Недостаток – фрагментация памяти. Фрагментация – это наличие большого числа несмежных участков свободной памяти очень маленького размера (фрагментов). Настолько маленького, что ни одна из вновь поступающих программ не может поместиться ни в одном из участков, хотя суммарный объем фрагментов может составить значительную величину, намного превышающую требуемый объем памяти.
Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших или в сторону младших адресов, так, чтобы вся свободная память образовывала единую свободную область. В дополнение к функциям, которые выполняет ОС при распределении памяти переменными разделами, в данном случае она должна еще время от времени копировать содержимое разделов из одного места памяти в другое, корректируя таблицы свободных и занятых областей. Эта процедура называется сжатием. Сжатие может выполняться либо при каждом завершении задачи, либо только тогда, когда для вновь поступившей задачи нет свободного раздела достаточного размера.
Дата публикования: 2015-09-17; Прочитано: 3758 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!