Процесс создания файла в системе FAT будет продемонстрирован на примере dirl\filel.dat. В рассматриваемом примере каталог dirl уже существует, размер кластера составляет 4096 байт, а размер файла - 6000 байт.

1. Мы читаем загрузочный сектор из сектора 0 тома и находим в нем структуры FAT, область данных и корневой каталог.

2. Чтобы найти каталог dirl, мы перебираем все записи корневого каталога в поисках записи с именем dirl и установленным атрибутом каталога. Запись успешно найдена, и ее начальный кластер равен 90.

3. Мы читаем содержимое начального кластера dirl (90) и последовательно перебираем все записи, хранящиеся в нем, пока не будет найдена свободная запись каталога.

4. Мы находим свободную запись и переводим в выделенное состояние, записывая в нее имя filel.txt. Размер и текущее время тоже записываются в соответствующие поля.

5. Настает очередь выделения кластеров для содержимого; переходим к поиску в структуре FAT. Файлу выделяется кластер 200, для чего записи этого кластера присваивается маркер EOF.

6. Адрес кластера 200 записывается в поле начального кластера записи каталога. Первые 4096 байт содержимого файла записываются в кластер. Остается еще 1904 байт, поэтому потребуется второй кластер.

7. После поиска в структуре FAT файлу выделяется еще один кластер 201.

8. В запись FAT первого кластера (200) заносится значение 201. Последние 1904 байт файла записываются в кластер 201.

Состояние файловой системы после создания файла показано на рис. 9.17.

Рис. 9.17. Состояние файловой системы после создания файла «dirl\filel.txt»

Пример удаления файла

Теперь посмотрим, как происходит удаление файла dirl\fiLel.txt.

1. Мы читаем загрузочный сектор из сектора 0 тома и находим в нем структуры FAT, область данных и корневой каталог.

2. Чтобы найти каталог dirl, мы перебираем все записи корневого каталога в поисках записи с именем dirl и установленным атрибутом каталога. Запись успешно найдена, и ее начальный кластер равен 90.

3. Мы перебираем содержимое начального кластера dirl (90) в поисках записи с именем filel.txt По записи определяется начальный кластер файла (200).

4. При помощи структуры FAT определяется цепочка кластеров файла. В данном случае файлу выделены кластеры 200 и 201.

5. В записи FAT кластеров 200 и 201 заносятся нули.

6. Запись каталога файла filel.txt освобождается, для чего в ее первый байт заносится значение 0хе5.

Итоговое состояние системы показано на рис. 9.18. Стертые ссылки обозначены пунктирными линиями, а первая буква имени файла удалена из записи каталога.

Упорядочение записей каталогов | Криминалистический анализ файловых систем | Прочее


Криминалистический анализ файловых систем



Новости за месяц

  • Март
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс