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


Атомарные шаги - часть 3


Все области, описанные в исходной таблице отображений, освобождают­ся и в текущей таблице распределения, и в исходной таблице распределения. Области, описанные в таблице -дубле, отмечаются как занятые в исходной таблице распределения.

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

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

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

Создание файлов сводится к модификации файла с пустой исходной таблицей отображения. Более интересно уничтожение.

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

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

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




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



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