Файловая система MS-DOS (FAT-12,16,32)
В первых версиях был только один каталог (MS-DOS 1.0).
С версии MS-DOS 2.0 применили иерархическую структуру.
Каталоговые записи, фиксированны по 32 байта.
Имена файлов - 8+3 символов верхнего регистра.
Порядок чтения файлов:
1. Файл открывается системным вызовом open, которому указывается путь к файлу (может быть абсолютным и относительным).
2. Файловая система открывает каталоги (согласно пути), считывает последний каталог в память.
3. Ищет описатель файла.
4. Читается дескриптор файла, из которого получает информацию о всех блоках.
5. Вызывается системный вызов read
Каталоговая запись MS-DOS, обратите внимание на пустые 10 байт, они будет задействованы в Windows 98
Атрибут архивныйнужен для программ резервного копирования, по нему они определяют надо копировать файл или нет.
Поле время (16 разрядов) разбивается на три подполя:
1. секунды - 5бит (2^5=32 поэтому хранятся с точностью до 2-х секунд)
2. минуты - 6бит
3. часы - 5бит
Поле даты (16 разрядов) разбивается на три подполя:
1. день - 5бит
2. месяц - 4бита
3. год - 7бит (начинается с 1980г, т.е. максимальный 2107г.)
Теоретически размер файлов может быть до 4Гбайт (32 разряда).
Все блоки файла в записи не хранятся, а только первый блок. Этот номер используется в качестве индекса для 64К (для FAT-16) элементов FAT-таблицы, хранящейся в оперативной памяти.
В зависимости от количества блоков на диске в системе MS-DOS применяется три версии файловой системы FAT:
1. FAT-12
2. FAT-16
3. FAT-32 - для адреса используются только 28 бит, поэтому правильнее назвать FAT-28
Размер блока (кластера) должен быть кратным 512 байт.
FAT-12
В первой версии MS-DOS использовалась FAT-12с 512 байтовыми блоками, поэтому максимальный размер раздела мог достигать 2Мбайта (2^12*512байта).
С увеличением дисков, этого стало не хватать, стали увеличивать размер блоков 1,2 и 4 Кбайта (2^12) (при этом эффективность использования диска падает).
FAT-12до сих пор применяется для гибких дисков.
FAT-16
Особенности:
· 16-разрядные дисковые указатели
· Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт (2^15)
Таблица постоянно занимала в памяти 128 Кбайт.
Максимальный размер раздела диска мог достигать 2Гбайта (2^16*32Кбайта).
Причем кластер в 32 Кбайта для файлов со средним размером в 1Кбайт, не эффективен.
FAT-32
Особенности:
· 28-разрядные адреса
· Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт
Максимальный размер раздела диска мог бы достигать 2^28*2^15, но здесь уже вступает другое ограничение - 512 байтные сектора адресуются 32-разрядным числом, а это 2^32*2^9, т.е. 2 Тбайта.
Максимальный размер раздела для различных размеров кластеров
Размер кластера, Кбайт | Fat-12, Мбайт | Fat-16, Мбайт | Fat-32, Тбайт |
0.5 | 0.13 | ||
0.27 | |||
0.54 | |||
Из таблицы видно, что FAT-16 использовать не эффективно уже при разделах в 256 Мбайт, учитывая, что средний размер файла 1Кбайт.
Дата добавления: 2014-12-21; просмотров: 1132;