Файловые системы
Структура системы FAT (File Allocation Table — «таблица размещения файлов») Логический диск, отформатированный в системе FAT, имеет следующие разделы: · загрузочный сектор; · таблица размещения файлов — собственно FAT (традиционно в двух экземплярах); · корневой каталог; · файлы.
Для хранения файлов всё доступное для них пространство разбивается на кластеры. Таблица размещения файлов содержит ячейки, каждая из которых указывает на определённый кластер на жёстком диске. Если кластер принадлежит файлу, то его ячейка содержит номер следующей ячейки этого же файла. Если ячейка указывает на конец файла, она содержит значение «FFFF». Неиспользуемые кластеры помечены нулём. «Плохие» кластеры помечены специальным кодом «FFF7». Максимальный размер кластера, который поддерживается в FAT, составляет 32 Кб. Зная, что максимальное количество кластеров, которое можно проадресовать шестнадцатиразрядным указателем равно 65536, можно вычислить какой величины раздел можно отформатировать, применяя тот или иной размер кластера. Если взять размер кластера равным размеру физического кластера(сектора), то получим: 65536*512=32 Мб. Если взять кластер в 2 раза больше, то можно отформатировать раздел уже до 64 Мб. Ввиду того, что разрядность ФС величина постоянная, для форматирования дисков различных размеров будут применяться разные размеры кластеров. Например, чтобы отформатировать диск более 1 Гб, нужно применять кластер 32 Кб. Поскольку такой размер кластера является максимально допустимым в этой ФС, то можно определить, что максимальный размер раздела, форматируемый под FAT, равен 2 Гб.
Отказоустойчивость системы Поскольку система FAT хранит данные о файлах и данные о свободном месте на диске в одной таблице, то операция записи файла, традиционно состоящая из двух этапов (добавление занимаемого блока в перечень занятых и исключение этого же блока из списка свободных) происходит в FAT в одно действие. Благодаря этому система FAT обладает врождённой устойчивостью к сбоям, то есть сбой (например, питания) в момент выполнения операции чтения или записи в большинстве случаев не приведёт к разрушению файловой системы. Однако следует помнить, что в данном случае речь идёт именно о целостности файловой системы, а не самих файлов.
Версии системы FAT Существует три версии FAT — FAT12, FAT16 и FAT32. Они отличаются количеством бит, отведённых для хранения номера кластера. FAT12 применяется в основном для дискет, FAT16 — для дисков малого объёма. В различных операционных системах также были внедрены различные расширения FAT. Например, в DR-DOS имеются дополнительные атрибуты доступа к файлам; в Windows 95, Linux и Proolix — поддержка длинных имён файлов (LFN) в формате Unicode (VFAT); в OS/2 — расширенные атрибуты всех файлов.
FAT32 FAT32 — последняя версия файловой системы FAT и улучшение предыдущей версии, известной как FAT16. Она была создана, чтобы преодолеть ограничения на размер тома в FAT16, позволяя при этом использовать старый код программ MS-DOS и сохранив формат. FAT32 использует 32-разрядную адресацию кластеров. FAT32 появилась вместе с Windows 95 OSR2.
Логический предел Максимально возможное число кластеров в FAT32 равно 268 435 445 кластеров, позволяя использовать жёсткие диски объёмом до 8 ТБ. Средство ScanDisk, входящее в состав Microsoft Windows 95 и Microsoft Windows 98, это 16-разрядная программа. Для таких программ максимальный размер кластера отдельного фрагмента памяти составляет 16 МБ минус 64 КБ. Следовательно, средство ScanDisk в Windows 95 или Windows 98 не может работать с томами FAT32, у которых размер таблицы FAT превышает 16 МБ минус 64 КБ. Запись в таблице FAT на томе с файловой системой FAT32 имеет размер 4 байта, поэтому средство ScanDisk не может работать с таблицей FAT на диске FAT32, описывающей более 4 177 920 кластеров (включая два резервных). С учётом самих таблиц FAT и при максимальном размере кластера 32 КБ размер тома может быть до 127,53 ГБ. Штатными средствами Windows 2000 и Windows XP невозможно создать разделы FAT32 размером более 32 ГБ, однако, с такими разделами возможно работать, если они были предварительно созданы в других ОС. Причина этого заключается в том, что по мнению Microsoft при увеличении размера тома FAT32 свыше 32 ГБ резко падает производительность и более подходящее решение — использование NTFS, т.е. родной формат файловой системы для Windows 2000 и Windows XP. Partition Magic же позволяет создать FAT32 - раздел размером не более ~192ГБ. Этот предел весьма странный, т.к. в разложении имеет тройку.
NTFS NTFS (New Technology File System — «файловая система новой технологии») — стандартная файловая система для семейства операционных систем Microsoft Windows NT. NTFS заменила использовавшуюся в MS-DOS и Microsoft Windows файловую систему FAT. NTFS поддерживает систему метаданных и использует специализированные структуры данных для хранения информации о файлах для улучшения производительности, надёжности и эффективности использования дискового пространства. NTFS имеет встроенные возможности разграничивать доступ к данным для различных пользователей и групп пользователей (списки контроля доступа — ACL), а также назначать квоты (ограничения на максимальный объём дискового пространства, занимаемый теми или иными пользователями). NTFS использует систему журналирования для повышения надёжности файловой системы. NTFS разработана на основе файловой системы HPFS (High Performance File System — высокопроизводительная файловая система), создававшейся Microsoft совместно с IBM для операционной системы OS/2. Но, получив такие несомненно полезные новшества как квотирование, журналируемость, разграничение доступа и аудит, в значительной степени утратила присущую прародительнице (HPFS) весьма высокую производительность файловых операций. Различают несколько версий NTFS: v1.2 используется в Windows NT 3.51 и Windows NT 4.0, v3.0 поставляется с Windows 2000, v3.1 — с Windows XP и Windows Server 2003. Иногда последние версии обозначают как v4.0, v5.0 и v5.1 в соответствии с версиями Windows NT, с которыми они поставляются. Windows NT имеет NTFS 4.0, а Windows 2000/XP — NTFS 5. При подключении диска c NTFS 4.0 к 2000/XP он автоматически и без предупреждений конвертируется системой в NTFS 5.0. Спецификации файловой системы являются закрытыми. Это создаёт определённые трудности при реализации её поддержки в сторонних продуктах, не принадлежащих Microsoft — в частности, разработчикам драйверов для свободных операционных систем приходится заниматься реверс-инжинирингом системы.
|