Введення у файлові системи, страница 33

Атрибути файлу. Атрибути файлу визначають набір властивостей файлу і можливі дії над ними. Розряди байта атрибутів файлу DIR_Attr мають значення 1 у тому випадку, якщо у файлу є відповідна властивість: біт 0 – файл тільки для читання; біт 1 – схований файл; біт 2 – системний файл; біт 3 – ідентифікатор тому; біт 4 – каталог; біт 5 – архівіруваний файл; біти 6 і 7 зарезервовані і мають значення 0.

Наявність одиниць у розрядах 0-3 байта атрибутів (для описувача файлів і каталогів таке сполучення неможливе) означає, що «вільний» елемент каталогу використовується для збереження ділянки «довгого імені» файлу.

Час створення чи зміни файлу. Час створення чи зміни файлу встановлюється в полях часу і дати: DIR_CrtTime, DIR_WrtTime, DIR_CrtDate, DIR_WrtDate, DIR_LstAccDate. Операційна система обновляє вміст цих полів після будь-якої операції, що змінює зміст файлу - створення файлу, перезапису змісту файлу, додавання даних у файл чи відновлення змісту файлу. Після відновлення файлу встановлюється в “1” 5-й біт архівації байта атрибутів DIR_Attr.

Поля часу створення файлу DIR_CrtTime і часу виконання останньої операції запису у файл DIR_WrtTime мають наступний формат:

·  біти 0-4 – двохсекундний відлік (приймає значення від 0 до 29);

·  біти 5-10 – хвилини (припустима значення від 0 до 59);

·  біти 11-15 – години (припустима значення від 0 до 23).

Для того, щоб час відновлення файлу умістилося в шістнадцятьох бітах, довелося піти на зниження точності часу до двох секунд.

Поля дати створення файлу DIR_CrtDate, дати останнього звертання до файлу DIR_LstAccDate і дати виконання останньої операції запису у файл DIR_WrtDate мають наступний формат:

біти 0-4 – день місяця (припустиме значення від 1 до 31);

біти 5-8 – номер місяця в році (припустиме значення від 1 до 12);

біти 9-15 – номер року мінус 1980 (приймає значення від 0 до 127).

При створенні файлів відлік дат ведеться від 01.01.1980. Для того щоб одержати значення року відновлення файлу, необхідно додати до величини, збереженої в старших сімох бітах, значення 1980.

Визначення початкового кластера і довжини файлу. Для розміщення файлів відводяться кластери, які починаються з номера 002h для файлової системи FAT12 (0002h або 00000002h для файлових систем FAT16 та FAT32 відповідно).