Алгоритмы выделения

  В категории метаданных существует два типа данных, задействованных в процедурах выделения. Для новых файлов выделяются записи каталогов, а для существующих файлов и каталогов обновляются временные штампы. Как и в боль
шинстве стратегий выделения, конкретное поведение зависит от ОС и не может контролироваться структурами данных файловых систем. Прежде чем делать какие-либо предположения об алгоритмах выделения, необходимо протестировать конкретную ОС. Я приведу свои наблюдения для Windows 98 и ХР.
Выделение записей каталогов
В Windows 98 используется стратегия выделения первой доступной записи, а поиск свободных записей начинается от начала каталога. Windows ХР использует стратегию следующей доступной записи, а поиск свободных записей начинается от последней выделенной записи. Добравшись до конца цепочки кластеров, Windows ХР заново начинает сканирование от начала каталога. Если Windows 98 или ХР не могут найти свободную запись каталога, выделяется новый кластер.
Различия между этими методами выделения записей показаны на рис. 9.13, где запись 3 была выделена после записи 4. При выделении следующей записи Windows 98 проводит сканирование от начала кластера и выделяет запись каталога 3. Windows ХР начнет с записи 4 и выделит запись 5.
При переименовании файла в Windows для нового имени создается новая запись, а запись старого имени освобождается. Аналогичное поведение прослеживается при создании нового файла или каталога в Windows командой Создать из контекстного меню: сначала система создает запись с именем по умолчанию (скажем, Текстовый документах!:), а затем освобождает ее при вводе пользователем настоящего имени.
У Windows ХР есть одна интересная особенность: при создании файла из приложения Windows создаются две записи. Первая запись содержит все значения, кроме размера и начального кластера. Эта запись освобождается, после чего создается вторая запись с размером и начальным кластером. Это происходит при сохранении файла из приложения, но не из командной строки, посредством перетаскивания или командой меню.
При удалении файла в первый байт записи каталога заносится значение 0хе5. Windows не изменяет другие значения в записи каталога, хотя другие ОС могут
это делать. Для освобождения кластеров, выделенных файлу, в соответствующие записи структуры FAT заносятся нули. К счастью, Windows хранит начальный кластер цепочки в записи каталога, что дает возможность восстанавливать файлы, пока их кластеры не были выделены другим файлам.
Обновление временных штампов
Запись каталога содержит три значения времени: последнего обращения, последней модификации и создания. В спецификации FAT требования к этим значениям минимальны, но статья Microsoft Knowledge Base 299648 описывает их поведение в Windows [Microsoft, 2003d]. Временные штампы не являются обязательными, а их значения могут не соответствовать действительности.
Время создания задается в тот момент, когда Windows выделяет новую запись каталога для нового файла.
Последнее обстоятельство важно, потому что если ОС выделяет новую запись каталога для существующего файла, даже если оригинал находился на другом диске, в ней сохраняется исходное время создания. Например, если файл был переименован или перемещен на другой каталог или диск, то время создания оригинала копируется в новую запись. Время создания соответствует времени выделения файлу первой записи каталога независимо от ее исходного размещения (если только файл не перемещался в новую файловую систему средствами командной строки).
Время модификации обновляется при записи в файл нового содержимого. Время модификации отслеживается на уровне содержимого, а не на уровне записи каталога, и копируется вместе с данными. При перемещении или копировании файлов в Windows новая запись каталога сохраняет время модификации из исходного файла. Изменение атрибутов или имени файла не приводит к обновлению этого времени. Windows обновляет время в тот момент, когда записывает содержимое в файл, даже если в приложении выполняется автоматическое сохранение без реального изменения содержимого.
Подведем итог: при перемещении файла в Windows итоговый файл сохраняет исходное время модификации с создания, за исключением копирования данных на другой том в режиме командной строки. При копировании файла итоговый файл сохраняет старое время модификации и получает новое время создания. Это может выглядеть довольно странно, потому что время создания оказывается более поздним, чем время модификации. При создании новых файлов в приложениях Windows время записи обычно оказывается более поздним, чем время создания.
Время последнего обращения (а точнее, дата, поскольку значение имеет точность до суток) обновляется чаще остальных. Это происходит при каждом открытии файла. Например, если щелкнуть на файле правой кнопкой мыши для просмотра его свойств, время последнего обращения обновляется. При перемещении файла на другой том время последнего обращения для нового файла тоже обновляется, потому что Windows читает исходное содержимое перед его записью на новый том. С другой стороны, если перемещение происходит в пределах тома, дата обращения не изменяется, потому что новый файл использует те же кластеры. При копировании или перемещении файла дата обращения обновляется как в исходном, так и в итоговом файле. У этого простого правила есть единственное исключение: в Windows ХР дата обращения не обновляется при копировании
файла. С другой стороны, Windows 98 обновляет время обращения исходного файла при создании итогового файла. Некоторые версии Windows можно настроить таким образом, чтобы время последнего обращения не обновлялось.
Что касается каталогов, я заметил, что даты задаются в момент создания каталога и в дальнейшем практически не обновляются. Даже когда для каталога выделяются новые кластеры или в каталоге появляются новые файлы, время модификации не обновляется.
<< | >>
Источник: Кэрриэ Б.. Криминалистический анализ файловых систем. 2007

Еще по теме Алгоритмы выделения:

  1. Алгоритмы выделения
  2. 6.3.5.3. Разделение и выделение акционерных обществ
  3. Вопрос 55 ДЛЯ ЧЕГО НЕОБХОДИМО ВЫДЕЛЕНИЕ ФУНКЦИЙ МЕНЕДЖМЕНТА?
  4. Выделение профессиональнойрекламы из проторекламных текстов
  5. 89. ВЫДЕЛЕНИЕ ЗЕМЕЛЬ ЗАПАСА
  6. Алгоритмы поведения и критерии их выбора
  7. Глава I ВЫДЕЛЕНИЕ СОЗНАНИЯ КАК КРИТЕРИЯ ПСИХИКИ
  8. Тестирование с целью выделения психотипов по темпераменту и стилям мышления
  9. 2.2. Подходы к менеджменту на основе выделения различных школ
  10. Насколько реальны выделенные нами культурные зоны?
  11. АЛГОРИТМ КОНСУЛЬТИРОВАНИЯ
  12. АЛГОРИТМ СТРАТЕГИЧЕСКОГО ПЛАНИРОВАНИЯ
  13. 7.2. Алгоритм аудиторской проверки