Файловые системы Microsoft Windows


Рассмотрим основные файловые системы, поддерживаемые Windows - FAT16, FAT32, NTFS, а также системы CDFS и UDF. Каждая файловая система имеет свои достоинства и недостатки.

Файловая система FAT 16 начала свое существование еще во вре­мена, предшествующие MS-DOS. Она поддерживается всеми ОС Microsoft для обеспечения совместимости. Ее название File Allocation Table (таблица расположения файлов) отлично отражает физическую организацию файловой системы, к основным характеристикам ко­торой можно отнести то, что максимальный размер поддерживаемо­го тома HDD или его раздела не превышает 4095 Мбайт. Во времена MS-DOS 4-гигабайтные HDD казались несбыточной мечтой (роско­шью были диски 20-40 Мбайт), поэтому такой запас был вполне оправдан.

Том, отформатированный для использования FAT16, разделяет­ся на кластеры. Размер кластера по умолчанию зависит от размера тома и может колебаться от 512 б до 64 Кб. Размер кластера может отличаться от значения по умолчанию, но должен иметь одно из зна­чений, предписанных для этой ФС.

Не рекомендуется использовать файловую систему FAT16 на томах больше 511 Мб, так как для небольших файлов дисковое про­странство будет использоваться крайне неэффективно: файл разме­ром 1 байт будет занимать 16, 32 или 64 Кб. Независимо от размера кластера файловая система FAT 16 не поддерживается для томов боль­ше 4 Гбайт. На рис. 8 показано, как организован том при использовании файловой системы FAT16.

Рис. 8. Организация тома в файловой системе FAT16

Единственным отличием корневого каталога от других катало­гов является то, что он располагается в определенном месте и имеет фиксированное число вхождений. Так, если число фиксированных вхождений для корневого каталога равно 512 и создано 100 подката­логов, то в корневом каталоге можно создать не более 412 файлов.

Начиная с Windows 95 OSR2, появилась поддержка 32-битной FAT. Для систем на базе Windows NT эта файловая система впервые стала поддерживаться в Windows 2000. Если FAT16 может поддержи­вать тома объемом до 4 Гб, то FAT32 способна обслуживать тома объемом до 2 Тб. Размер кластера в FAT32 может изменяться от 1 (512 б) до 64 секторов (32 Кб). Для хранения значений кластеров FAT32 требуется 4 б (32 бит, а не 16, как в FAT16). Это означает, в частности, что некоторые файловые утилиты, рассчитанные на FAT16, не могут работать с FAT32.

Основным отличием FAT32 от FAT16 является то, что изменил­ся размер логического диска. FAT32 поддерживает тома до 127 Гб. При этом, если при использовании FAT16 с 2-гигабайтными диска­ми требовался кластер размером в 32 Кб, то в FAT32 кластер разме­ром в 4 Кб подходит для дисков объемом от 512 Мб до 8 Гб.

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

При применении FAT32 максимальный размер файла может достигать 4 Гб минус 2 байта. Если при использовании FAT16 макси­мальное число вхождений в корневой каталог ограничивалось 512, то FAT32 позволяет увеличить это число до 65535.

При создании файла с длинным именем Windows создает соот­ветствующее имя в формате 8.3 и одно или более вхождений в ката­лог для хранения длинного имени (по 13 символов из длинного име­ни файла на каждое вхождение). Каждое последующее вхождение хранит соответствующую часть имени файла в формате Unicode. Та­кие вхождения имеют атрибуты идентификатор тома, только чте­ние, системный и скрытый - набор, который игнорируется MS-DOS.

В состав Windows 2000 входит поддержка новой версии файло­вой системы NTFS, которая, в частности, обеспечивает средства защи­ты информации, контроль над доступом и ряд других возможностей.

Как и при использовании FAT, основной информационной еди­ницей в NTFS является кластер. При формировании файловой сис­темы NTFS программа форматирования создает файл Master File Table (MTF) и другие области для хранения метаданных. Метаданные ис­пользуются NTFS для реализации файловой структуры. Первые 16 записей в MTF зарезервированы самой NTFS. Местоположение файлов метаданных записано в загрузочном секторе диска. Если пер­вая запись в MTF повреждена, NTFS считывает вторую запись для нахождения копии первой. Полная копия загрузочного сектора рас­полагается в конце тома. В MTF хранятся метаданные, такие как ко­пия первых четырех записей (гарантирует доступ к MTF в случае, если первый сектор поврежден). MTF содержит информацию о томе — метку и номер версии. В MTF находится таблица имен атрибутов и описания, корневой каталог и др. Остальные строки MTF содер­жат записи для каждого файла и каталога, расположенных на дан­ном томе.

Обычно один файл использует одну запись в MTF, но если у файла большой набор атрибутов или он становится слишком фрагментированным, то для хранения информации о нем могут потре­боваться дополнительные записи. В этом случае первая запись о фай­ле, называемая базовой записью, хранит местоположение других записей. Данные о файлах и каталогах небольшого размера (до 1500 байт) полностью содержатся в первой записи.

В Windows 2000 обеспечивается поддержка файловой системы CDFS, отвечающей стандарту ISO 9660, описывающему расположение информации на CD-ROM. Поддерживаются длинные имена фай­лов в соответствии с ISO 9660.

Поддержка файловой системы UDF является одним из новшеств Windows 2000. Universal Disk Format — это файловая система, отвеча­ющая стандарту ISO 13346 и используемая для обмена данными с накопителями CD-ROM и DVD.