Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
К_Глава 9_Файловые системы.doc
Скачиваний:
81
Добавлен:
19.05.2015
Размер:
3.66 Mб
Скачать

5. Устойчивость фс

5.1 Устойчивость фс к сбоям питания и пр.

Свойство устойчивости к сбоям питания (power-fault tolerance)является одной из важных характеристик файловой системы. Строго говоря, имеется в виду устойчивость не только к сбоям питания, но и к любой ситуации, при которой работа с ФС прекращается без выполнения операции размонтирования.

На самом деле, неожиданное прекращение работы с ФС может произойти не только при сбое питания, но и в следующих ситуациях:

  • извлечении носителя из дисковода;

  • нажатии кнопки RESETнетерпеливым пользователем;

  • фатальном аппаратном сбое;

  • аппаратном сбое, который сам по себе не был фатальным, но система не смогла правильно восстановиться, что привело к ее разрушению;

  • разрушении системы из-за чисто программных проблем.

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

Устойчивость ФС с FAT

Упоминавшаяся выше «врожденная» устойчивость к сбоям файловой системы FATобъясняется тем, что в этой ФС удаление блока из списка свободных и выделение его файлу производится одним действием – модификацией элементаFAT. Поэтому если во время этой процедуры произойдет сбой или диск будет вынут из дисковода, то ничего страшного не случится: просто получится файл, которому выделено на один блок больше, чем его длина, записанная в каталоге. При стирании этого файла все его блоки будут помечены как свободные, поэтому вреда практически нет.

Нужно отметить, что при активном использовании отложенной записи FATи родственные ФС теряют это преимущество. Отложенная записьFATявляется единственным способом добиться хоть сколько-нибудь приемлемой производительности от ФС с 32-битовымFAT. Поэтому после аварийной перезагрузки эти системы вынуждены запускать программу аварийного восстановления дисковых томов.

Устойчивость более сложных систем

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

Первая ситуация достаточно неприятна, вторая же просто недопустима: первый же файл, созданный после перевызова системы, будет «перекрещиваться» с испорченным. Поэтому все ОС, использующие файловые системы такого типа (системы семейства Unix,OS/2,WindowsNTи т.д.), после аварийной перезагрузки первым делом проверяют свои ФС соответствующей программой восстановления.