Структура логического диска
Реферат, 04 Апреля 2014, автор: пользователь скрыл имя
Краткое описание
Логический диск с системой FAT состоит из системной области и области файлов. Каждая часть логического диска занимает целое число логических секторов.
Секторы области файлов объединены в кластеры, размер кластера 1, 2, 4, 8, 16, 32 или 64 сектора по 512 байт. Номер первого кластера равен 2, так как первые две ячейки FAT зарезервированы (содержат байт-описатель).
Содержание
Введение
Логический диск FAT12/FAT16
Логический диск FAT32
Дополнительные сведения
Вложенные файлы: 1 файл
Структура логического диска.docx
— 48.63 Кб (Скачать файл)Структура логического диска
Содержание
Введение
Логический диск FAT12/FAT16
Логический диск FAT32
Дополнительные сведения
Введение
Логический диск с системой 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).
Ниже приведен дамп загрузочного сектора
дискета (код загрузчика вырезан).
Начало страницы
Логический диск FAT32
Система FAT32 предназначена для дисков
большого объема (более 2 Гбайт). В системе
FAT16 диск большого объема имеет кластеры
максимального размера, что приводит к
потере до 30-50% дискового пространства
в остатках кластеров. В FAT32 размер кластера
может быть небольшим (4 Кбайт для диска
16 Гбайт), но число кластеров при этом значительно
возрастает. Так как таблица FAT имеет слишком
большой размер (16 Мбайт для диска 16 Гбайт),
в FAT32 используются дополнительные структуры
для ускорения работы.
На рис. 2 приведена структура логического
диска для файловой системы FAT32:
(Рис. 2)
Как видно из рисунка, FAT32 имеет расширенный
загрузчик. Кроме того, сектор 1 содержит
структуру FSInfo, предназначенную для управления
FAT. Загрузочный сектор, структура FSInfo
и загрузчик дублируются в зарезервированных
секторах (выделено зеленым цветом).
Корневой каталог не имеет фиксированного
положения и размера, как в FAT16. Вместо
этого он является файлом специального
вида, как и все другие каталоги. На практике
корневой каталог обычно начинается с
первого кластера области файлов (кластер
2).
Несмотря на то, что FAT32 использует ячейки
размером 32 бита, старшие 4 бита не используются
и всегда равны нулю.
Первые две ячейки таблицы FAT в системе
FAT32 используются следующим образом:
ячейка 0 содержит байт-описатель носителя, дополненный слева двоичными единицами;
ячейка 1 содержит код признака конца цепочки кластеров файла (обычно 0FFFFFFFh).
Бит 27 ячейки 1 является признаком завершения
работы с диском: 1 - работа завершена нормальным
образом, 0 - нет. Бит 26 ячейки 1 является
аналогичным признаком нормального завершения
операции ввода-вывода.
Таблица BPB для FAT32 содержит следующие
характеристики диска:
Смещение Назначение
Размер, байт
00Bh Размер сектора
2
00Dh Размер кластера
1
00Eh Число секторов загрузчика 2
010h Число FAT 1
011h Число записей корневого каталога 0 (не используется)
013h Число секторов на диске 2 (если секторов меньше 65536)
015h Байт-описатель носителя 1
016h Размер FAT в секторах 0 (не используется)
018h Число секторов на дорожке 2
01Ah Число головок чтения/записи 2
01Ch Число скрытых секторов 4
020h Число секторов на диске 4 (если секторов больше 65535)
За таблицей BPB расположена дополнительная
информация для операционной системы:
Смещение Назначение
Размер, байт
024h Размер FAT в секторах 4
028h Номер активной FAT 2
02Ah Номер версии FAT 2
02Ch Первый кластер корневого каталога 4
030h Номер сектора структуры FSInfo 2 (обычно 1)
032h Номер первого сектора копии 2 (обычно 6)
034h Зарезервировано
12
041h Физический номер диска 1
042h Зарезервировано
1
043h Серийный номер тома 4
047h Метка тома
11
052h Описатель FAT 8
Как и в случае FAT16, последние два байта
сектора 0 содержат признак загрузочной
записи AA55h.
Структура FSInfo предназначена для ускорения
выполнения операций с FAT. В ней содержится
количество свободных секторов и номер
первого свободного кластера. Формат структуры
приведен в следующей таблице:
Смещение Назначение
Размер, байт
000h Признак структуры 41615252h 4
004h Резерв
480
1E4h Признак структуры 61417272h 4
1E8h Текущее число свободных кластеров 4
1ECh Номер первого свободного кластера 4
1F0h Резерв
12
1FCh Признак структуры AA550000h 4
Если текущее число свободных кластеров
содержит FFFFFFFFh, это означает, что оно неизвестно
и его следует вычислять. Если такое же
число находится в поле первого свободного
кластера, это означает, что искать свободный
кластер необходимо с кластера 2. Другое
значение номера первого свободного кластера
указывает не на первый свободный кластер,
а на кластер, с которого нужно начинать
поиск свободных кластеров.
Начало страницы
Дополнительные сведения
Значения байта-описателя носителя:
0F0h - дискет 3.5" (2 стороны, 18 секторов - 1.44 Мб)
0F8h - жесткий диск
0F9h - дискет 5.25" (2 стороны, 15 секторов)
0FCh - дискет 5.25" (2 стороны, 15 секторов) или 3.5" (2 стороны, 9 секторов)
0FDh - дискет 5.25" (1 сторона, 9 секторов) или 8" (1 сторона, 1x плотность)
0FEh - дискет 5.25" (1 сторона, 8 секторов) или 8" (1/2 стороны, 1x/2x плотность)
0FFh - дискет 5.25" (2 стороны, 8 секторов) или 8" (2 стороны, 2x плотность)