3.3.2. Строение FAT

      Обычно  FAT располагается  с первого  логического сектора и

 может  быть  прочитана  с  помощью  Int  25h  при  DX=1.  Точное

 положение  FAT на  диске содержится  в загрузочном  секторе (см.

 3.2).

 

      Диск  может  содержать  несколько  копий FAT (обычно  две).

 Они  располагаются  в  смежных  секторах,   т.  е.  вторая   FAT 

 начинается со следующего сектора после конца первой.

 

      FAT  может  состоять  из  12-  или  16-разрядных элементов.

 12-разрядные  элементы  очень  эффективны  для  дисков с объемом

 менее 384  Кб - вся  FAT такого диска  помещается в один  сектор

 (512 байтов). Но чем больше  объем диска, тем больше должен быть

 размер кластера - и диск в 20 Мб придется  разбивать на кластеры

 по 16 секторов (иными словами, файл  длиной в 1 байт займет 8 Кб

 дискового пространства).

 

      В  связи  с  этим  ДОС  3.0  ввел 16-разрядные элементы для

 эффективного  использования  дисков   емкостью  20  Мб.  Однако,

 дискеты  и  жесткие  диски   объемом  10  Мб  по-прежнему  имеют

 12-разрядные элементы FAT. Как определить длину элемента FAT?

 

      ДОС  3.0 говорит:  Если  диск  содержит более  4086 (0FF6h)

 кластеров,   то  элементы   FAT  16-разрядные   (4095  -   макс.

 12-разрядное число и номера, свыше 0FF6h зарезервированы);

 

      ДОС  3.2 говорит:  Если диск  содержит более  20740 (5104h)

 секторов, то элементы FAT 16-разрядные (т. е. любой диск объемом

 более 10 Мб).

 

      Единственный точный способ  определения длины элементов FAT

 в сомнительных случаях - чтение  таблицы разделов жесткого диска

 (см. 3.5).

 

      Примечание:  Часто  ошибочно  полагают,  что   16-разрядные

 элементы FAT позволяют ДОС работать с дисками, большими 32 Мб. В

 действительности, это  ограничение связано  с тем,  что обмен  с

 дисками  ДОС  ведет  через  INT  25h/26h, которые имеют доступ к

 секторам с номерами 0-65535.  Поскольку обычная длина сектора  -

 512 байтов (1/2  Кб) размер диска  ограничивается 32 Мб.  Нигде,

 впрочем, не сказано, что  сектора не могут иметь  большую длину,

 поэтому теоретически ДОС  может работать с  дисками произвольной

 емкости.

Вы находитесь в разделе: 
Также вам будет интересно:
Метки: 

Добавить коментарий