MS-DOS для программиста

         

Расположение и размер корневого каталога


Корневой каталог находится сразу за последней копией FAT . Количество секторов, занимаемых одной копией FAT, находится в блоке параметров BIOS в загрузочном секторе (поле fatsize), а количество копий FAT - в поле fatcnt блока BPB . Следовательно, перед корневым каталогом находится один загрузочный сектор и fatcnt* fatsize секторов таблицы размещения файлов FAT.

Размер корневого каталога можно определить исходя из значения поля rootsize. При форматировании диска в это поле записывается максимальное количество файлов и каталогов, которые могут находиться в корневом каталоге. Для каждого элемента в каталоге отводится 32 байта, поэтому корневой каталог имеет длину 32 * rootsize байт.

Корневой каталог занимает непрерывную область фиксированного размера. Размер корневого каталога задается при форматировании и определяет максимальное количество файлов и каталогов, которые могут быть в нем описаны.

Для определения количества секторов, занимаемых корневым каталогом, можно воспользоваться следующей формулой:

RootSecs = sectsize / (32 * rootsize)

В этой формуле sectsize - размер сектора в байтах, он может быть получен из соответствующего поля загрузочного сектора.



Содержание раздела