в главе подразумевается FAT 16)
FAT (чаще всего в главе подразумевается FAT 16) представляет собой простую файловую систему, разработанную для небольших дисков и простых структур каталогов. Ее название происходит от названия метода, применяемого для организации файлов — таблица размещения файлов (File Allocation Table, FAT). Эта таблица размещается в начале тома. В целях защиты тома на нем хранятся две копии FAT. В случае повреждения первой копии FAT
дисковые утилиты (например, Scandisk) могут воспользоваться второй копией для восстановления тома. Таблица размещения файлов и корневой каталог должны располагаться по строго фиксированным адресам, чтобы файлы, необходимые для запуска системы, были размещены корректно.
По принципу построения FAT похожа на оглавление книги, т. к. операционная система использует ее для поиска файла и определения кластеров, которые этот файл занимает на жестком диске. Изначально компания Microsoft разработала FAT для управления файлами на дискетах, и только затем приняла ее в качестве стандарта для управления дисками в MS-DOS. Сначала для дискет и небольших жестких дисков (менее 16 Мбайт) использовалась 12-разрядная версия FAT (так называемая FAT12). В MS-DOS v. 3.0 была введена 16-разрядная версия PAT для более крупных дисков. К настоящему моменту FAT 12 применяется на носителях очень малого объема (или на очень старых дисках). Например, все 3,5-дюймовые дискеты емкостью 1,44 Мбайт форматируются для FAT16, а все 5,25-дюймовые — для FAT12.
Том, отформатированный под FAT12 и FAT16, размечается по
кластерам.
Стандартный размер кластера, устанавливаемый по умолчанию, определяется размером тома (более подробная информация о размерах кластеров приведена далее в этой главе). Таблица расположения файлов и ее резервная копия содержат следующую информацию о каждом кластере тома:
Unused (кластер не используется). |
|
Cluster in use by a file (кластер используется файлом). |
|
Bad cluster (плохой кластер). |
|
Last cluster in a file (последний кластер файла). |
Корневая папка содержит записи для каждого файла и каждой папки, расположенных в корневой папке. Единственным отличием корневой папки от остальных является то, что она занимает четко определенное место на диске и имеет фиксированный размер (не более 512 записей для жесткого диска; для дискет этот размер определяется их объемом).
Папки содержат 32-байтные записи для каждого содержащегося в них файла и каждой вложенной папки. Эти записи содержат следующую информацию:
Имя (в формате 8.3). |
|
Байт атрибутов (8 бит полезной информации, которая подробно описана ниже). |
|
Время создания (24 бит). |
|
Дата создания (16 бит). |
|
Дата последнего доступа (16 бит). |
|
Время последней модификации (16 бит). |
|
Дата последней модификации (16 бит). |
|
Номер начального кластера файла в таблице расположения файлов (16 бит). |
|
Размер файла (32 бита). |
Информация папок используется операционными системами, поддерживающими файловую систему FAT. Кроме того, Windows 2000 может хранить в записи папки
дополнительную временную информацию
(time stamps). Эти дополнительные временные атрибуты указывают, когда файл был создан и когда к нему в последний раз предоставлялся доступ. Главным образом, дополнительные атрибуты используются приложениями POSIX.
Файлы на дисках имеют 4 атрибута, которые могут сбрасываться и устанавливаться пользователем — Archive (архивный), System (системный), Hidden (скрытый) и Read-only (только чтение).
Примечание |
|
В Windows 2000 все файлы, имеющие комбинацию атрибутов скрытый и системный, считаются защищаемыми файлами операционной системы (operating system protected files). Windows 2000 защищает такие файлы, не отображая их в программе Проводник и папке Мой компьютер. Чтобы увидеть эти файлы в Проводнике, вызовите утилиту Свойства папки (Folder Options) (через панель управления или через меню Сервис (Tools) Проводника или папки Мой компьютер). В ее окне перейдите на вкладку Вид (View), выберите переключатель Показывать скрытые файлы и папки (Show hidden files and folders) и снимите флажок Скрывать защищенные системные файлы (рекомендуется) (Hide protected operating system files (Recommended)). Помимо этого, защищаемые файлы операционной системы можно просматривать из командной строки с помощью команды dir /a. |
В Windows NT, начиная с версии 3.5, файлы, созданные или переименованные на томах FAT, используют биты атрибутов для поддержки длинных имен файлов методом, не вступающим в конфликт с методами доступа к тому, используемыми операционными системами MS-DOS и OS/2. Для файла с длинным именем Windows NT/2000 генерирует короткое имя в формате 8.3. Кроме этого стандартного элемента Windows NT/2000 создает для файла одну или несколько дополнительных записей, по одной на каждые 13 символов длинного имени. Каждая из этих дополнительных записей содержит соответствующую часть длинного имени файла в формате Unicode. Windows NT/2000 устанавливает для дополнительных записей атрибуты тома, а также скрытого системного файла, предназначенного только для чтения, чтобы
пометить их как части длинного имени файла, MS-DOS и OS/2 обычно игнорируют записи папок, для которых установлены все эти атрибуты, поэтому такие записи для них невидимы. Вместо этого MS-DOS и OS/2 получают доступ к файлу по стандартному короткому имени файла в формате 8.3.
Примечание |
|
Windows NT/2000 и Windows 9х используют одинаковый алгоритм для генерации длинных и коротких имен файлов. На компьютерах с двойной загрузкой к файлам, созданным с помощью одной из этих операционных систем, можно получать доступ, работая под управлением другой. |
HKEY_LOCAL_MACH IN E\System\CiirrentControlSet\Control\FileSystem
Установка этого значения не позволит Windows NT создавать на томах FAT файлы с длинными именами, но не повлияет на уже созданные длинные имена.
В Windows NT/2000 FAT16 работает точно так же, как и в MS-DOS, Windows 3.1х и Windows 95/98. Поддержка этой файловой системы была включена в Windows 2000, поскольку она совместима с большинством операционных систем других фирм-поставщиков программного обеспечения. Помимо этого, применение FAT16 обеспечивает возможность обновления более ранних версий операционных систем семейства Windows до Windows 2000.
Примечание |
|
Нельзя использовать Windows NT/2000 совместно с программными средствами, осуществляющими разбиение диска на тома и сжатие дисков при помощи драйверов устройств, которые загружаются MS-DOS. Например, если требуется иметь доступ к разделу или логическому диску FAT, работая под управлением Windows NT/2000, не следует применять для них такие средства сжатия, как DoubleSpace (MS-DOS 6.0) или DriveSpace (MS-DOS 6.22). Для сканирования и восстановления томов FAT, используемых Windows NT/2000, рекомендуется ввести в командной строке команду chkdsk. Эта программа объединяет функциональные возможности, присущие программам MS-DOS Chkdsk и Scandisk, включая сканирование поверхности жесткого диска. Если требуется выполнить сканирование поверхности диска, дайте из командной строки команду chkdsk /r. |
Том, отформатированный для использования FAT32, как и том FAT16, размечается по кластерам. Размер кластера по умолчанию определяется размером тома. В табл. 7.1 приведено сравнение размеров кластеров для FAT16 и FAT32 в зависимости от размера диска.
Таблица 7.1.
Размеры кластеров по умолчанию для FAT 16 и FAT32
Для обеспечения максимальной совместимости с существующими прикладными программами, сетями и драйверами устройств, FAT32 была реализована с минимумом возможных изменений в архитектуре и внутренних структурах данных. Все утилиты Microsoft, предназначенные для работы с дисками (Format, FDISK, Defrag и ScanDisk), были переработаны для обеспечения поддержки FAT32. Кроме того, Microsoft проводит большую работу по поддержке ведущих фирм-производителей драйверов устройств и утилит для работы с диском, чтобы помочь и в обеспечении поддержки FAT32 в их продуктах. В табл. 7.2 сделана попытка сравнения характеристик FAT16 и FAT32.
Таблица 7.2.
Сравнение характеристик FAT16 и FAT32
FAT16 |
FAT32 |
Поддерживается большинством операционных систем, в числе которых MS-DOS, Windows 98, Windows NT, OS/2 и UNIX |
На текущий момент поддерживается только операционными системами Windows 98 (и Windows 98 Second Edition), Windows 95 OSR2 и Windows 2000 |
Эффективна только на логических дисках, размер которых не превышает 256 Мбайт |
Не поддерживаются диски, размер которых менее 512 Мбайт |
Поддерживает сжатие диска с помощью таких утилит, как Drvspace |
Не поддерживает сжатие диска |
Ограничена по размеру до 65 525 кластеров. Каждый кластер имеет фиксированный размер в зависимости от размера логического диска. Ограничения по количеству кластеров, и их размеру (32 Кбайт) приводят к общему ограничению по размеру диска (не более 2 Гбайт). Помимо этого, FAT12/16 обычно имеет ограничения по количеству файлов и папок, которые могут содержаться в корневом каталоге (в зависимости от диска максимальное значение колеблется от 200 до 400) |
Максимальный размер кластера — 32 Кбайт, максимальный размер диска — 2 Тбайт |
Поскольку с увеличением размера диска размер кластера FAT16 увеличивается, хранение файлов на таких дисках становится неэффективным. Например, если файл размером 10 Кбайт хранится в кластере размером 32 Кбайт, то 22 Кбайт дискового пространства не используются |
Для дисков размером менее 8 Гбайт размер кластера — 4 Кбайт |
Поддержка дисков размером до 2 Тбайт. Следует, правда, отметить, что команда format, включенная в Windows 2000, не позволяет форматировать для использования FAT32 тома, размер которых превышает 32 Гбайт. Поэтому при форматировании томов объемом более 32 Гбайт следует использовать файловую систему NTFS. Однако драйвер FASTFAT, имеющийся в составе Windows 2000, позволяет монтировать и поддерживать любые тома FAT32, в том числе и такие, объем которых превышает 32 Гбайт. За исключением упомянутого выше ограничения FAT32 в Windows 2000 работает точно так же, как в Windows 95 OSR2 и Windows 98. |
|
Более эффективное расходование дискового пространства. FAT32 использует более мелкие кластеры (см. табл. 7.1), что позволяет повысить эффективность использования дискового пространства на 10—15% по сравнению с FAT. |
|
Повышенная надежность и более быстрая загрузка программ. В отличие от FAT 12 и FAT 16, FAT32 обладает возможностью перемещать корневой каталог и использовать резервную копию FAT, если первая копия получила повреждения. Кроме того, загрузочный сектор FAT32 был расширен по сравнению с FAT16 и содержит резервные копии жизненно важных структур данных. Повышенная устойчивость FAT32 обусловлена именно этими факторами. |