2. Файловая система FAT
Файловая система FAT представляет собой таблицу размещения файлов, в которой указываются:
1) непосредственно адреса участков логического диска, предназначенные для размещения файлов;
2) свободные области дискового пространства;
3) дефектные области диска.
В этой таблице каждому блоку, предназначенному для хранения данных, соответствует 16-битовое значение. Если блок свободен, то значение будет нулевым. Если же блок принадлежит файлу, то значение равно адресу следующего блока этого файла. Если это последний блок в файле, то значение — OxFFF (рис. 2). Существует также специальный код для обозначения плохого блока, не читаемого из-за дефекта физического носителя. В каталоге хранится номер первого блока и длина файла, измеряемая в байтах. Емкость диска при использовании 12-битовой FAT ограничена 4096 блоками (2 Мбайт), что приемлемо для дискет, но совершенно не годится для жестких дисков и других устройств большой емкости. На таких устройствах DOS использует FAT с 16-битовыми элементами. На еще больших (более 32 Мбайт) дисках DOS выделяет пространство не блоками, а кластерами из нескольких блоков.
Рис. 2 Структура файловой системы FAT
В таблице FAT кластеры, принадлежащие файлу или каталогу, связываются в цепочки. В 16-разрядной FAT можно иметь до 65536 кластеров. В операционных системах Windows NT/2000/XP разделы FAT могут иметь до 4097 Мб. В этом случае кластер занимает 128 секторов диска.
Логическое объединение секторов в кластеры позволяет уменьшить размер таблицы FAT и ускорить доступ к файлу. Однако слишком большой размер кластера приводит к неэффективному использованию области данных, особенно при большом количестве маленьких файлов. Например, при размере кластера в 32 сектора (16 Кб) средняя величина потерь на файл составляет 8 Кб. Поэтому в современных файловых системах размер кластера не превышает 4 Кб.
Поскольку файлы на диске подвержены изменению (удаляются, перемещаются, увеличиваются или уменьшаются), то выделение первого свободного кластера для новой порции данных приводит к фрагментации файлов. Данные одного файла могут располагаться не в смежных кластерах, а в удаленных друг от друга.
Таблица FAT является основой данной файловой системы, поэтому она хранится на диске в двух экземплярах. Обновляются копии FAT одновременно, а для работы используется только первый экземпляр. Если он окажется поврежденным, то произойдет обращение ко второму экземпляру. Утилиты проверки и восстановления файловой системы при обнаружении несоответствия первичной и резервной таблицы FAT осуществляет восстановление основной таблицы, используя данные из её копии.
Система FAT очень проста и имеет одно серьезное достоинство: врожденную устойчивость к сбоям. В то же время у нее есть и ряд серьезных недостатков. Первый недостаток состоит в том, что при каждой операции над файлами система должна обращаться к FAT. Это приводит к частым перемещениям головок дисковода и в результате к резкому снижению производительности. Действительно, исполнение программы на одной и той же машине под MS DOS и под DOS-эмулятором систем UNIX или OS/2 различается по скорости почти в 1,5 раза. Особенно это заметно при архивировании больших каталогов.
Файловая система FAT 16 может иметь не более 65535 кластеров на логический диск, и это приводит к ограничению размера логического диска. С увеличением размера диска приходится увеличивать размер кластеров, что приводит к крайне неэффективному и бесполезному расходу дискового пространства.
В файловой системе FAT дисковое пространство логического диска делится на системную область и область данных. Системная область создается и инициализируется при форматировании диска, а в последующем обновляется при работе. Область данных содержит файлы и каталоги, которые образуют на диске иерархическое дерево каталогов, с единственной директорией не входящей в другие – корневым каталогом. Область данных доступна через пользовательский интерфейс операционной системы. Системная область содержит загрузочную запись, зарезервированные сектора, таблицу размещения файлов и корневой каталог. Для каждого файла и каталога в файловой системе хранится справочная информация. Каждый элемент такого справочника занимает 32 байта и содержит: имя файла или каталога, расширение имени файла, атрибуты файла – системный, архивный, только для чтения и др., дату и время создания и последнего изменения файла, номер начального кластера, размер файла.
3. Файловая система FAT 32
По мере развития операционных систем к 16-разрядной FAT добавились ещё две файловые системы, используемые в широко распространенных операционных системах от Microsoft: VFAT (виртуальная система FAT), используемая в Windows 95 и Windows NT, и FAT 32 используемая в Windows 98 и одной из версий Windows 95 (OEM Service Release 2, она же Windows 95 OSR2). В настоящее время файловая система FAT 32 поддерживается современными операционными системами
Windows ME/2000/XP. Имеются реализации FAT 32 для Windows NT и Linux.
Файловая система VFAT впервые появилась в Windows 3.11 (Windows for Workgroups). С появлением Windows 95 в VFAT добавилась поддержка длинных имен файлов.
Файловая система VFAT имеет совместимость с FAT 16. Поэтому при работе с VFAT необходимо использовать утилиты обслуживающие именно её. Более ранние файловые утилиты DOS запросто модифицируют то, что кажется им исходной структурой FAT. Это может привести к потере длинных имен файлов. Основными недостатками файловых систем FAT 16 и VFAT, которые привели к необходимости создания новой файловой системы, являются большие потери на кластеризацию и ограничения на размер логического диска.
Файловая система FAT 32 является полностью самостоятельной 32-разрядной файловой системой и имеет более совершенную структуру.
FAT 32 намного эффективнее расходует дисковое пространство. Кластеры в этой файловой системе меньше, чем кластеры в предыдущих версиях FAT. Следовательно, для дисков размером до 8 Гб FAT 32 может использовать кластеры размером 4 Кб. Таблица размещения файлов в FAT 32 может содержать до кластеров (в 32-разрядном коде, используемом для представления номера кластера, фактически используются только 28 разрядов). Система FAT 32 также может перемещать корневой каталог и использовать резервную копию FAT вместо стандартной. Расширенная загрузочная запись позволяет создавать копии важных структур данных. Это повышает устойчивость файловой системы к нарушениям структуры таблицы размещения данных. Корневой каталог представлен в виде обычной цепочки кластеров и может находиться в произвольном месте диска. Файловая система FAT 32 имеет ряд усовершенствований структуры корневого каталога. Для представления длинных имен используются элементы корневого каталога.
Для этого число файлов в нем увеличено с 512 до 2048. Кроме того, для того чтобы снизить расход элементов каталога на описание файлов с длинными именами, рекомендуется не давать файлам слишком длинные имена.
Длинное имя файла в VFAT представлено следующим образом.
Первые 11 байт элемента каталога DOS используются для хранения имени файла. Такое имя состоит из двух частей: в первых восьми байтах хранятся символы собственно имени, а в последних трех – символы расширения имени файла. Если имя состоит менее чем из восьми символов, то в элементе каталога оно дополняется символами пробела, для того чтобы полностью заполнить все восемь байтов. При работе с именем файла необходимость в отображении точки, которая используется для отделения имени файла от расширения, отпадает. В 12-ом байте элемента каталога хранятся атрибуты файла:
1) А – архив. Показывает, что файл был открыт программой имеющей возможность изменить его содержимое.
2) D – каталог. Показывает, что данный элемент указывает на подкаталог (папку), а не на файл.
3) V – том (volume). Применяется только к одному элементу каталога в корневом каталоге. В нем собственно и хранится имя дискового тома.
4) S – системный. Показывает, что файл является частью операционной системы или специально помечен подобным образом.
5) H – скрытый. К скрытым файлам относятся также системные файлы.
6) R – только для чтения. Указывает, что данный файл не следует изменять. Этот атрибут используется для примитивной защиты от ошибок пользователя.
На дисках с FAT 12 или FAT 16 следующие 10 байт не используются. На диске с FAT 32 они содержат различную информацию о файле. Тринадцатый байт зарезервирован для Windows NT и в подсистеме DOS не используется.
Для длинного имени файла используется несколько элементов каталога. Таким образом, применение длинных имен приводит к уменьшению количества файлов, находящихся в корневом каталоге. Длинное имя может содержать до 256 символов и всего один файл с полным длинным именем займет до 25 элементов таблицы FAT. При этом на диске с файловой системой FAT 16 максимальное число файлов в корневом каталоге сократится до 21. Поэтому необходимо избегать длинных имен файлов в корневом каталоге. Длинна полной спецификации файла, включающая в себя путь к файлу и его имя, также ограничена. В файловой системе FAT 32 успешно решена проблема длинных имен в корневом каталоге, но проблема с ограничением длинны полной файловой спецификации остается. Поэтому рекомендуется ограничивать длинные имена 75-80 символами, для того чтобы оставить достаточно места для пути к файлу.
... символов Любые символы Юникода, кроме NUL 32767 символов Юникода; каждая компонента пути (каталог или имя файла) – до 255 символов 16 EiB 16 EiB 12 8.3. Особенности файловых систем Файловая система Жесткие ссылки Мягкие ссылки Журнали-рование блоков Журнали-рование только метаданных Чувстви-тельно к регистру Case-preser-ving Логизм файлов ...
... информационная система должна будет выбрать все записи о сотрудниках отдела и посчитать соответствующие общие значения. Таким образом мы видим, что даже для такой простой системы ее реализация на базе файловой системы, во-первых, требует создания достаточно сложной надстройки для многоключевого доступа к файлам, и, во-вторых, вызывает требование существенной избыточности хранения (для каждого ...
... и установлены 80 G ATA/IDE дисководы . Постановка задачи Целью данного проекта является, разработка методики для проведения установки эффективной системы защиты и восстановления данных, а также обучение сотрудников фирмы методам администрирования различных PC в организации для осуществления технического обслуживания. Данная задача должна осуществляться специальными приспособлениями и стандартным ...
... и, по большому счету, пользователям совершенно все равно, на каком именно диске или разделе диска расположены его файлы /usr/spool/moshkow или /home1/moshkow/bin/mcopy... Файловая система Unix кэшируется буферным кэшем. Операция записи на диск выполняется не тогда, когда это приказывает выполняемый процесс, а когда операционная система сочтет нужным это сделать. Это резко поднимает эффективность ...
0 комментариев