Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Распределение памяти фиксированными разделами




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

 
 

 


Очередная задача 1 раздел

       
   
 
 


очередь

2 раздел

 

3 раздел

 

Подсистема управления памятью в этом случае выполняет задачи:

1) Сравнивает объем памяти, требуемой для вновь поступившей задачи с размерами свободных разделов и выбирает подходящий размер.

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

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

Каждому поступившему вновь на выполнение приложению на этапе создания процесса, выделяется вся необходимая ему память (если достаточный объем памяти отсутствует – процесс не создается). После завершения процесса память освобождается и на это место может быть загружен другой процесс. Таким образом, в производный момент времени ОЗУ представляет собой случайную последовательность занятых и свободных участков (разделов произвольного размера). Функции ОС, предназначенные для реализации данного метода следующие: 1) Ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков. 2) При создании нового процесса анализ требуемой памяти, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения кодов и данных нового процесса. Такой выбор может осуществляться по разным правилам, напр.: «Первый попавшийся раздел достаточного размера»; «Раздел, имеющий наименьший достаточный размер».

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

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

Перемещаемые разделы

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...