русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Файловая структура FAT32


Дата добавления: 2015-01-16; просмотров: 6482; Нарушение авторских прав


Устройства внешней памяти в системе FAT32 имеют не байтовую, а блочную адресацию. Запись информации в устройство внешней памяти осуществляется блоками или секторами.
Сектор – минимальная адресуемая единица хранения информации на внешних запоминающих устройствах. Как правило, размер сектора фиксирован и составляет 512 байт. Для увеличения адресного пространства устройств внешней памяти сектора объединяют в группы, называемые кластерами.
Кластер – объединение нескольких секторов, которое может рассматриваться как самостоятельная единица, обладающая определёнными свойствами. Основным свойством кластера является его размер, измеряемый в количестве секторов или количестве байт.

Файловая система FAT32 имеет следующую структуру.

Нумерация кластеров, используемых для записи файлов, ведется с 2. Как правило, кластер №2 используется корневым каталогом, а начиная с кластера №3 хранится массив данных. Сектора, используемые для хранения информации, представленной выше корневого каталога, в кластеры не объединяются.
Минимальный размер файла, занимаемый на диске, соответствует 1 кластеру.

Загрузочный сектор начинается следующей информацией:

§ EB 58 90 – безусловный переход и сигнатура;

§ 4D 53 44 4F 53 35 2E 30 MSDOS5.0;

§ 00 02 – количество байт в секторе (обычно 512);

§ 1 байт – количество секторов в кластере;

§ 2 байта – количество резервных секторов.

Кроме того, загрузочный сектор содержит следующую важную информацию:

§ 0x10 (1 байт) – количество таблиц FAT (обычно 2);

§ 0x20 (4 байта) – количество секторов на диске;

§ 0x2С (4 байта) – номер кластера корневого каталога;

§ 0x47 (11 байт) – метка тома;

§ 0x1FE (2 байта) – сигнатура загрузочного сектора (55 AA).

Сектор информации файловой системы содержит:

§ 0x00 (4 байта) – сигнатура (52 52 61 41);

§ 0x1E4 (4 байта) – сигнатура (72 72 41 61);



§ 0x1E8 (4 байта) – количество свободных кластеров, -1 если не известно;

§ 0x1EС (4 байта) – номер последнего записанного кластера;

§ 0x1FE (2 байта) – сигнатура (55 AA).

Таблица FAT содержит информацию о состоянии каждого кластера на диске. Младшие 2 байт таблицы FAT хранят F8 FF FF 0F FF FF FF FF (что соответствует состоянию кластеров 0 и 1, физически отсутствующих). Далее состояние каждого кластера содержит номер кластера, в котором продолжается текущий файл или следующую информацию:

§ 00 00 00 00 – кластер свободен;

§ FF FF FF 0F – конец текущего файла.

Корневой каталог содержит набор 32-битных записей информации о каждом файле, содержащих следующую информацию:

§ 8 байт – имя файла;

§ 3 байта – расширение файла;

Корневой каталог содержит набор 32-битных записей информации о каждом файле, содержащих следующую информацию:

§ 8 байт – имя файла;

§ 3 байта – расширение файла;

§ 1 байт – атрибут файла:

§ 1 байт – зарезервирован;

§ 1 байт – время создания (миллисекунды) (число от 0 до 199);

§ 2 байта – время создания (с точностью до 2с):

§ 2 байта – дата создания:

§ 2 байта – дата последнего доступа;

§ 2 байта – старшие 2 байта начального кластера;

§ 2 байта – время последней модификации;

§ 2 байта – дата последней модификации;

§ 2 байта – младшие 2 байта начального кластера;

§ 4 байта – размер файла (в байтах).

В случае работы с длинными именами файлов (включая русские имена) кодировка имени файла производится в системе кодировки UTF-16. При этого для кодирования каждого символа отводится 2 байта. При этом имя файла записывается в виде следующей структуры:

§ 1 байт последовательности;

§ 10 байт содержат младшие 5 символов имени файла;

§ 1 байт атрибут;

§ 1 байт резервный;

§ 1 байт – контрольная сумма имени DOS;

§ 12 байт содержат младшие 3 символа имени файла;

§ 2 байта – номер первого кластера;

§ остальные символы длинного имени.

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



<== предыдущая лекция | следующая лекция ==>
Работа с файлами | Работа с файлами в языке Си


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.