Шаг 21 - Файловая система - FAT32

FAT32 представляет из себя расширение файловой системы FAT. С чем связано появление этой файловой системы ??? Со старыми проблемами связанными с разделами диска больше 512 MB. FAT не умеет создавать разделы больше данного значения. Раньше для этого использовались, например, специальные программы типа Disk Manager. Начиная с OSR2 при создании разделов с использованием FDisk у Вас есть возможность подключить опцию больших дисков. Если Вы сделаете так, то все ваши разделы больше лимита будут FAT32.

Выгодность использования FAT32 заключаеться в том, что размер блока всего 4 KB вместо 16 KB в FAT. Естественно это сказывается на том, что при делении файла на размер кластера получаеться остаток, который занимает весь кластер даже если в нем 1 байт. Вообщем место надо меньше для хранения файлов. Кроме того максимальный размер у FAT32 - 2 Тб вместо 2 Гб. Вообще все хорошо кроме того, что данную файловую систему не может читать напрямую NT и старые версии. А вот по сети все будет нормально. То есть если сделать диск сетевым, то все клинты сети смогут с ним работать.

Вобщем-то все эти мелочи нам как программистам зачастую не нужны, если мы не собираемся производить совсем низкоуровневые операции с диском. Я говорю совсем вот почему. Абсолютное чтение сектора с диска это в принципе операция низкого уровня. Но функция, которая это умеет делать

Int 21h Function 7305h 
Ext_ABSDiskReadWrite 

Умеет читать данные с:

FAT32 
FAT16 
FAT12

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


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.