Вначале вся память, отводимая для приложений, свободна. Каждому вновь поступающему на выполнение приложению на этапе создания процесса выделяется вся необходимая ему память. После завершения процесса память освобождается, и на это место может быть загружен другой процесс. Таким образом, в произвольный момент времени ОП представляет собой случайную последовательность занятых и свободных участков произвольного размера.
Функции операционной системы, предназначенные для реализации данного метода управления памятью, перечислены ниже.
1. Введение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти.
2. При создании нового процесса – анализ требований к памяти, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения кодов и данных нового процесса. Выбор раздела может осуществляться по разным правилам, например: «первый попавшийся раздел достаточного раздела», «Раздел, имеющий достаточный размер» или «Раздел, имеющий небольшой достаточный размер».
|
|
3. Загрузка программы в выделенный ей раздел и корректировка таблиц свободных и занятых областей. Данный способ предполагает, что программный код не перемещается во время выполнения, а значит, настройка адресов может быть проведена единовременно во время загрузки.
4. После завершения процесса корректировка процесса свободных и занятых областей.
По сравнению с методом распределения памяти фиксированными разделами данный метод обладает гораздо большей гибкостью, но ему присущ очень серьезный недостаток - фрагментация памяти. Распределение памяти динамическими разделами лежит в основе подсистем управления памятью многих мультипрограммных систем 60-70-х годов, в частности такой ОС, как OS/360.