logo
Администрирование сетей на платформе windows se

Файловая система fat

Том с файловой системой FAT имеет следующую структуру (рис. 8.26):

Рис. 8.26

Запись каталога для каждого файла содержит набор свойств, или атрибутов, описывающих файл на томе. Перечислим наиболее важные атрибуты:

Полный список кластеров, занимаемых файлом на диске, содержится в таблице размещения файлов (File Allocation Table, сокращенно FAT). От названия этой таблицы произошло и название самой файловой системы. На диске хранятся две идентичные копии FAT (на случай защиты от сбоя).

Каждый элемент таблицы FAT может иметь следующие значения:

На рис. 8.27 приведен пример фрагмента каталога для нескольких файлов с указанием первого кластера данного файла:

Рис. 8.27

На рис. 8.28 приведен фрагмент таблицы FAT для перечисленных в данном каталоге файлов:

Рис. 8.28

В данном примере видно, что файл "Document-1.doc" занимает последовательные кластеры с адресами с 0005 по 0007, файл "Document-2.doc" — кластеры 0008, 0009 и 0011, файл "Table-1.xls" — кластеры 0012–0013, а файл "New.ppt" — кластеры 0010, 0014–0015. разрывы в цепочках кластеров обусловлены тем, что при удалении файлов образуются свободные места, и вновь создаваемые файлы будут заполнять эти освободившиеся кластеры. Данное явление называется фрагментацией файлов и снижает производительность операций чтения/записи файлов.

Наиболее существенное отличие версий FAT16 и FAT32 состоит в том, что в FAT16 указатель на номер кластера занимает 16 бит, а в FAT32 — 32 бита. Максимальный размер кластера файловых систем FAT в системах Windows 2000/XP/2003 — 64 килобайта. Отсюда можно вычислить, что максимальный размер тома с файловой системой FAT16 — 4 гигабайта. Максимальный размер тома с FAT32 теоретически — 8 терабайт, но на практике он ограничен размером 32 гигабайта (хотя Windows 2000/XP/2003 поддерживают тома большего размера, созданные в других ОС, например, в Windows 95 SR2 или Windows 98).

В табл. 8.1 приведены сведения о соответствии размера тома и размера кластера на данном томе для FAT16 и FAT32:

Таблица 8.1.

Размер тома

Размер кластера для FAT16

Размер кластера для FAT32

До 32 Мбайт включительно

512 байт (1 сектор)

Не поддерживается

33–64 МБ

1 КБ (2 сектора)

512 байт (1 сектор)

65–128 МБ

2 КБ (4 сектора)

1 КБ (2 сектора)

129–256 МБ

4 КБ (8 секторов)

2 КБ (4 сектора)

257–512 МБ

8 КБ (16 секторов)

4 КБ (8 секторов)

513 МБ–1 ГБ

16 КБ (32 сектора)

4 КБ (8 секторов)

1 ГБ–2 ГБ

32 КБ (64 сектора)

4 КБ (8 секторов)

2 ГБ–4 ГБ

64 КБ (128 секторов)

4 КБ (8 секторов)

4 ГБ–8 ГБ

Не поддерживается

4 КБ (8 секторов)

8 ГБ–16 ГБ

Не поддерживается

8 КБ (16 секторов)

16 ГБ–32 ГБ

Не поддерживается

16 КБ (32 сектора)

Заметим, что каждый файл занимает целое число кластеров. Это означает, что последний кластер заполнен не целиком (в среднем — наполовину). Это второй вид фрагментации — потеря дискового пространства по причине неполного заполнения последнего кластера файла, причем, чем больше размер раздела и, соответственно, размер кластера, тем больше потери дискового пространства из-за данного вида фрагментации. Файловая система FAT32 с более медленным ростом размера кластера в зависимости от размера тома более эффективно расходует пространство на диске.

Когда какое-либо приложение отправляет запрос к операционной системе с запросом на открытие файла, ОС сначала последовательно просматривает записи каталога, пока не найдет запись для нужного файла, затем в найденной записи извлекает адрес первого кластера этого файла. После этого ОС обращается к элементу FAT для данного кластера, чтобы найти следующий кластер в цепочке. Повторяя этот процесс, пока не обнаружит последний кластер файла, ОС точно определяет, какие кластеры принадлежат данному файлу и в какой последовательности. Таким путем система может предоставить программе любую часть запрашиваемого ею файла.