Смекни!
smekni.com

Работа с дисками (стр. 11 из 11)

Второй специальный дескриптор содержит в поле имени строку: ".. ". Этот дескриптор указывает на каталог более высокого уровня. Если в поле номера первого занимаемого кластера для дескриптора с именем ".. " находится нулевое значение, это означает, что данный каталог содержится в корневом каталоге.

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

6.24 Атрибуты файлов.

Байт атрибутов является принадлежностью каждого файла. Биты этого байта имеют следующие значения:

Бит Описание
0 Файл предназначен только для чтения.В этот файл нельзя писать и его нельзя стирать
1 Скрытый файл.Этот файл не будет появляться в списке файлов, создаваемом командой DIR
2 Системный файл. Этот бит обычно установлен в файлах, являющихся составной частью операционной системы
3 Данный дескриптор описывает метку диска.Для этого дескриптора поле имени файла и поле расширения имени файла должны рассматриваться как одно поле длиной 11 байт. Это поле содержит метку диска
4 Дескриптор описывает файл, являющийся подкаталогом данного каталога
5 Флаг архивации.Если этот бит установлен в 1, то данный файл не был выгружен утилитой архивации
6-7 Зарезервированы

Обычно файлы имеют следующие атрибуты:

Атрибут Описание
0 Обычные файлы (тексты программ, загрузочные модули, пакетные файлы)
7 Только читаемые, скрытые, системные файлы. Такая комбинация битов байта атрибутов используется для файлов операционной системы io.sys , msdos.sys
8 Метка тома. Дескриптор метки тома может находиться только в корневом каталоге логического диска
10h Дескриптор, описывающий каталог
20h Обычный файл, который не был выгружен программами backup.exe или xcopy.exe

6.25 Дескрипторы удаленных файлов.

При удалении файла первый байт его имени заменяется на байт E5h (символ "х"). Все кластеры, распределенные файлу, отмечаются в FAT как свободные. Если вы только что удалили файл, его еще можно восстановить, так как в дескрипторе сохранились все поля, кроме первого байта имени файла. Но если на диск записать новые файлы, то содержимое кластеров удаленного файла будет изменено и восстановление станет невозможным.

6.26 Время создания или изменения файла.

Остановимся подробнее на полях времени и даты создания или последней модификации файла. MS-DOS обновляет содержимое этих полей после любой операции, изменяющей содержимое файла - создания файла, перезаписи содержимого файла, добавления данных в файл или обновления содержимого файла. После обновления файла MS-DOS устанавливает бит архивации 5 байта атрибутов в 1.

Старшие пять бит содержат значение часа модификации файла, шесть бит с номерами 5 - 10 содержат значение минут модификации файла, и, наконец, в младших 5 битах хранится значение секунд, деленное на 2. Для того, чтобы время обновления файла уместилось в шестнадцати битах, пришлось пойти на снижение точности времени до двух секунд.

6.27 Дата создания или изменения файла.

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

6.28 Длина файла.

Поле длины в дескрипторе содержит точную длину файла в байтах. Для каталогов в поле длины записано нулевое значение. Вы не можете работать с каталогом средствами MS-DOS, как с обычным файлом. Единственный способ прочитать каталог как файл - использование таблицы FAT для определения цепочки занимаемых каталогом кластеров и чтение секторов, соответствующих этим кластерам при помощи прерывания INT 25h.


Список литературы.

  1. Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т. 1. Часть 1, 2, 3. Операционная система MS-DOS. М: ДИАЛОГ-МИФИ, 1991, 1993.
  2. Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т. 2. Аппаратное обеспечение IBM PC. Часть 1, 2. М: ДИАЛОГ-МИФИ, 1992.
  3. Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т. 19, MS-DOS для программиста. Часть 2, М.: ДИАЛОГ-МИФИ, 1995.