Операционные системы супер-ЭВМ


Распределение дисковой памяти - часть 2


Возвращаемые области либо помечаются свободными (если нет свободных братьев), либо вкупе со свободным братом образуют удвоеннную область, которая возвращается на более высокий уро­вень. Братьями являются только те области, которые получились делением более крупной области.

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

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

В результате перемещения на одном уровне будут находиться сначала все занятые области, а затем свободные. После перемеще­ния модифицируются справочники, которые были затронуты уплотне­нием - в таблице отображения соответствующего справочника прос­тавляются новые адреса передвинутых областей (для этого и стро­илась таблица соответствий). После модификаций справочники отображаются на диск. При возникновении сбоев и отказов пропажи или порчи файлов не будет (см. 3.3.7.), потому что в рамках од­ного этапа уплотнения переписи происходят только в свободные области. Далее все свободные блоки, собранные на конце одного уровня, укрупняются по общим правилам и возвращаются на пред­шествующий более высокий уровень.На следующем этапе происходит все то же самое для более высокого уровня иерархии.

Данный алогоритм более эффективен при решении проблемы уплотнения по сравнению с другими известными алгоритмами (пер­вый подходящий, наиболее подходящий).




Начало  Назад  Вперед



Книжный магазин