- •Физическая структура магнитного диска
- •Логическая структура магнитного диска
- •Дополнительные сведения
- •Принцип размещения файлов
- •Структура логического диска Введение
- •Логический диск fat12/fat16
- •Логический диск fat32
- •12345678123 Msdos sys (для файла с именем msdos.Sys) file 1 (для файла с именем file.1)
- •Дополнительные сведения
- •Каталожная запись ms-dos
- •Специальные записи
- •Допустимые символы ms-dos
- •Каталожная запись fat32 (Windows 98)
- •Дополнительные сведения
Структура логического диска Введение
Логический диск с системой FAT состоит из системной области и области файлов. Каждая часть логического диска занимает целое число логических секторов.
Секторы области файлов объединены в кластеры, размер кластера 1, 2, 4, 8, 16, 32 или 64 сектора по 512 байт. Номер первого кластера равен 2, так как первые две ячейки FAT зарезервированы (содержат байт-описатель).
Логический диск fat12/fat16
На рис. 1 приведена структура логического диска для файловых систем FAT12 и FAT16:
(Рис. 1)
Сектор 0, называемый также начальным загрузчиком, содержит таблицу параметров диска и начальный загрузчик операционной системы. Первые 3 байта сектора 0 содержат команду перехода JMP на начало загрузчика: либо байт 0E9h и 1 байт короткого смещения, за которым следует команда NOP (код 90h), либо байт 0EBh и два байта длинного смещения. Длинное смещение используется, если загрузчик располагается в зарезервированных секторах.
Далее расположено поле из 8 бит, в которое при форматировании заносится идентификатор версии ОС. Это текстовая строка, имеющая значение MSWIN4.1 для ОС Windows.
Далее располагается таблица BPB (BIOS parameter block), описывающая физические характеристики диска и позволяющая вычислить правильный физический адрес на диске по данному номеру логического сектора. За таблицей располагаются дополнительные данные.
За сектором 0 могут быть расположены дополнительные зарезервированные (для загрузчика) секторы. Общее число зарезервированных секторов, включая сектор 0, указывается в BPB.
За зарезервированными секторами (или непосредственно за сектором 0) располагается таблица размещения файлов (на рисунке FAT-1), после которой могут располагаться дополнительные копии FAT. Обычно используется 2 копии. Число копий указано в BPB.
В конце системной области расположен корневой каталог, который имеет фиксированный размер. Размер корневого каталога в каталожных записях также указан в таблице BPB.
Таблица BPB для FAT12, FAT16 содержит следующие характеристики диска:
Смещение Назначение Размер, байт Для дискета 1.44 00Bh Размер сектора 2 512 00Dh Размер кластера 1 1 00Eh Число секторов загрузчика 2 1 010h Число FAT 1 2 011h Число записей корневого каталога 2 224 013h Число секторов на диске 2 2880 015h Байт-описатель носителя 1 F0 (hex) 016h Размер FAT в секторах 2 9 018h Число секторов на дорожке 2 18 01Ah Число головок чтения/записи 2 2 01Ch Число скрытых секторов 4 0 020h Число секторов на диске (если диск > 32 Мб) 4 (нет)
За таблицей BPB расположена дополнительная информация для операционной системы:
Смещение Назначение Размер, байт Для дискета 1.44 024h Физический номер диска (номер дисковода) 2 0 026h Признак расширенного загрузчика 1 29 (hex) 027h Серийный номер тома 4 02Bh Метка тома 11 036h Описатель FAT 8 FAT12
Физический номер диска для жестких дисков начинается с 80h.
Серийный номер тома - это шестнадцатиричное псеводослучайное число, предназначенное для того, чтобы ОС могла проверять смену пользователем дискета, когда он еще используется, но на самом деле такой проверки не делается.
Метка тома - это строка, предназначенная для идентификации тома пользователем.
Описатель FAT нельзя рассматривать как идентификатор файловой системы.
Далее с адреса 03Eh расположен начальный загрузчик.
Последние два байта сектора 0 содержат признак загрузочной записи - байт 55h по адресу 1FEh и байт AAh по адресу 1FFh (его можно рассматривать как слово AA55h по адресу 1FEh).
Ниже приведен дамп загрузочного сектора дискета (код загрузчика вырезан).
