Системное программное обеспечение персональных ЭВМ


Пример 7



Пример 7

0 a d l s h r,

где

r- 1 в этом бите означает, что файл только для чтения;
h- скрытый файл;
s- системный файл;
l- метка тома (может быть только в Корневом Каталоге);
d- подкаталог;
a- 1 в этом бите означает, что копия файла утилитой BACKUP не создавалась.

Поля time и date содержат время и дату последней модификации файла. Формат времени: ЧЧЧЧЧММММММССССС (Часы, Минуты, Секунды); формат даты: ГГГГГГГММММДДДДД (Год, Месяц, День).

Поле cl - номер первого кластера, распределенного файлу, то есть, начало той цепочки, которая продолжается в FAT.

Поле size - размер файла в байтах. В DOS не предусмотрены какие-либо специальные признаки конца файлов. Применяемый в некоторых случаях символ ^Z (код 26) интерпретируется как признак конца конкретными программами, но не DOS. DOS же определяет конец файла по его размеру, получаемому из этого поля Элемента Каталога. Для подкаталога это поле содержит 0.

Программа примера 10.5 считывает и выводит на печать содержимое Корневого Каталога. Как и в предыдущих примерах, программа вынуждена сначала прочитать Boot-сектор. Из Boot-сектора программа узнает:

  • количество элементов в каталоге - поле RootSize;
  • размер каталога в секторах - RootSize/16 (в один сектор помещаются 16 Элементов Каталога);
  • номер сектора, с которого начинается Корневой Каталог - ResSect+FatSize*FatCnt (следом за двумя копиями FAT).




- Начало -  - Назад -  - Вперед -