Логические структуры и файловые системы жестких дисков. Основные дисковые структуры и процесс загрузки, страница 7

·  Archive (архивный): Этот специальный атрибут используется для взаимодействия приложений, которые модифицируют файлы, и программами резервирования. Большинство программ резервирования предоставляют пользователю возможность выполнять инкрементное резервирование (incremental backup), когда для резервирования выбираются только файлы, изменившиеся после последнего резервирования. Данный бит и применяется для этой цели. Когда программа резервирования резервирует ("архивирует") файл, она сбрасывает бит "архивный" в нуль. Любая программа, которая впоследствии модифицирует файл, должна устанавливать бит "архивный" в единицу. При следующем выполнении программы резервирования она по битам "архивный" узнает, какие файлы изменились, и должны резервироваться.

Большинство атрибутов для файлов можно модифицировать с помощью команды DOS ATTRIB или просмотрев свойства файла в Windows.

Кластеры и размещение файлов

Одна из важнейших функций операционной системы заключается в управлении дисками и другими запоминающими устройствами. Проблема ставится таким образом: имеются диск, способный хранить определенный объем информации, и множество файлов и каталогов, которые должны использовать дисковое пространство. В различных операционных системах применяются разные способы управления организацией и распределения файлам дискового пространства. В DOS и производных от нее операционных системах для распределения пространства файлам и управления использованием каждым дисковым томом применяется файловая система FAT.

Кластеры (единицы распределения)

Минимальной единицей дискового пространства, к которой может обратиться программа, является 512-байтовый сектор. Вполне возможно иметь для диска систему распределения, которая выделяет каждому файлу столько секторов, сколько ему требуется. Например, для файла с размером 1 МБ потребуется примерно 2048 отдельных секторов для хранения его данных.

Однако в файловой системе FAT отдельные секторы не применяются, и для этого имеется несколько веских причин, связанных с производительностью. Довольно сложно управлять диском, когда файлы разбиты на 512-байтовые "порции". Например, дисковый том 2 ГБ, в котором для управления используются отдельные секторы, должен содержать более 4 млн отдельных секторов и для слежения за такими многочисленными элементами информации потребуется много времени и ресурсов.

Вместо этого FAT группирует секторы в большие блоки, которые называются кластерами (clusters) или единицами распределения (allocation units). Размер кластера определяется, в основном, размером дискового тома: в общем, чем больше размер тома, тем больше размер кластера. Для томов жесткого диска кластеры занимают от 4секторов (2048 байтов) до 64 секторов (32 768 байтов). Для гибких дисков применяются намного меньшие кластеры, а иногда кластер состоит всего из одного сектора. Секторы в кластере являются смежными, поэтому каждый кластер представляет собой смежный блок дискового пространства.

Размер кластера (и, следовательно, размер раздела или тома, так как они прямо взаимосвязаны) сильно влияет на производительность и эффективность использования дискового пространства. Размер кластера определяется при организации раздела дискового тома. Некоторые утилиты, например Partition Magic, могут изменять размер кластера существующего раздела (в определенных пределах), но большей частью после создания раздела размер кластера фиксирован.

Размеры дисков и кластеров в FAT32

Размер диска (тома)

Размер кластера

< 8 ГБ

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

8 ГБ - 16 ГБ

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

16 ГБ - 32 ГБ

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

> 32ГБ

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

В приведенной таблице показаны взаимосвязи размера диска (тома) и принимаемого по умолчанию размера кластера в файловой системе FAT32.

Каждому файлу необходимо распределить, или выделить, целое число кластеров (кластер - это наименьшая единица дискового пространства, которую можно выделить файлу, поэтому кластеры и называются еще единицами распределения.) Таким образом, в томе с кластерами по 8192 байта файл с размером 8000 байтов использует на диске один кластер, а файл с размером 9000 байтов используют два кластера (16 384 байта на диске). Вот почему размер кластера так важен для эффективного использования диска - большие кластеры приводят в большему пропавшему пространству (wasted space).

Сцепление файлов и распределение кластеров в FAT

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

Для каждого кластера диска имеется элемент в FAT. Каждый элемент содержит значение, которое определяет, каким образом используется кластер. Имеются различные коды, которые применяются для представления возможных состояний кластера.