Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборка Часть2 / АВМиС / Лекции / =4Принципы построения фай-ловой системы.doc
Скачиваний:
75
Добавлен:
15.09.2014
Размер:
244.74 Кб
Скачать

Файловые системы с точной записью

Файловые системы с точной записью основываются на идее важности сохранения согласованной структуры тома. Примером файловой системы с точной записью является FAT в MS-DOS.

Файловая система с точной записью работает следующим образом. Когда она осуществляет изменение структуры тома, то дается команда для записи на диск. Большинство модификаций тома производятся за один раз. Записи на диск для каждой модификации производятся таким образом, что сбой системы между двумя операциями дисковой записи оставляет том в распознаваемом состоянии с возможностью «ожидаемой» несогласованности. Диск остается пригодным для использования. Выполнение утилит типа chkdsk редко требуется для файловой системы с точной записью (в FAT, например, chkdsk необходима только для исправления последствий сбоя системы и обеспечивает быстрый способ восстановления согласованности файловой системы).

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

Файловые системы с ленивой записью

Второй вид файловой системы, типа FAT в Windows и большинства файловых систем UNIX, называются системой с ленивой записью. Этот тип был разработан для ускорения дискового доступа. Т. к. вероятность возникновения дисковых сбоев достаточно низкая, файловая система с ленивой записью разрабатывалась с учетом использования интеллектуальной стратегии управления кэшем и обеспечения способа восстановления данных (типа утилиты chkdsk) в случае сбоя диска.

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

Если одни и те же данные изменяются несколько раз, все модификации фиксируются в буфере системы ввода-вывода. Результатом является то, что при изменении данных система должна производить запись на диск только один раз. Т. е. файловая система открывает файл один раз и далее выполняет сразу все модификации, после чего файл закрывается.

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

Восстанавливаемые файловые системы

NTFS является восстанавливаемой (recoverable) файловой системой. Она сочетает быстродействие файловой системы с ленивой записью и практически мгновенное восстановление.

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

NTFS также поддерживает горячее фиксирование (hot-fixing), которое позволяет файловой системе при возникновении ошибки из-за плохого сектора переместить информацию в другой сектор и отметить первоначальный в качестве плохого. Этот подход прозрачен для любых приложений, выполняющих дисковые операции ввода-вывода. Горячее фиксирование позволяет устранить сообщения об ошибках типа «Abort, Retry, or Fail ?», которые происходят, когда файловая система типа FAT сталкивается с плохим сектором.

При использовании NTFS на отказоустойчивом устройстве и обнаружении ошибки в одной копии кластера данные могут быть восстановлены. Плохой кластер отмечается в файле плохих кластеров (Bad Cluster File) и заменяется другим кластером. Далее копия первоначальных данных записывается в новый кластер.

Внимание! NTFS поддерживает размеры кластера 512, 1024, 2048 и 4096 байт. Хотя команда format автоматически выбирает соответствующий диску размер кластера, можно использовать параметр /а для явного назначения размера кластера. Более подробную информацию можно получить при помощи команды format /?.

Целостность данных и восстановление в NTFS

Каждая операция ввода-вывода, которая изменяет файл на томе NTFS, рассматривается файловой системой как транзакция и может выполняться как неделимый блок.

При модификации файла пользователем сервис файла регистрации (Log File Service) фиксирует всю информацию по повторению (redo) или откату (undo) транзакции. Применительно к восстановлению, redo информация, которая сообщает NTFS о путях повторения транзакции, undo об отмене транзакции, которая не была завершена или имела ошибку.

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

Восстановление файловой системы осуществляется NTFS очень просто. При сбое системы NTFS выполняет три прохода: проход анализа (analysis pass), повторный проход (redo pass) и проход отмены (undo pass). В течение прохода анализа, на основании информации файла регистрации, NTFS оценивает повреждение и точно определяет, какие кластеры должны быть модифицированы. Во время повторного прохода выполняются все этапы транзакции от последней контрольной точки (checkpoint). Проход отмены осуществляет возврат любых незавершенных транзакций.

Соседние файлы в папке Лекции