Логическая организация файловой системы

Упорядочение файлов, хранящихся в дисковой памяти, называется логической организацией файловой системы. Основой логической организации являются каталоги. Каталогом называется специальный файл, в котором регистрируются другие файлы. Наряду с термином «каталог» в сообщениях DOS и ее документации для идентификации этого файла используются также термины «раздел», «директория». В каталоге содержится вся информация, характеризующая входящие в него файлы, и сведения о том, в каком месте диска файл расположен. В частности, в каталоге поддерживаются следующие параметры файла: имя, расширение, атрибуты, размер в байтах, дата и время создания или последнего обновления, номер начального кластера размещения файла. Сам же файл хранится как последовательность байтов без каких-либо дополнительных справочных сведений.

Каталог, в свою очередь, может входить в другой каталог — быть его подкаталогом. Каталог верхнего уровня, который не является подкаталогом, называется корневым каталогом (Root Directory). Место для корневого каталога резервируется при форматировании (разметке) диска и имеет стандартный размер — 3584 байт (то есть вмещает не более 112 записей по 32 байт, а если больше, то их предварительно надо объединить в подкаталоги). Корневой каталог не может быть удален средствами операционной системы.

Каждый элемент (файл или подкаталог) корневого каталога имеет размер 32 байт и включает 8 полей для файлов это:

□ имя файла — 8 байт;

□ расширение имени файла — 3 байта;

□ атрибут файла — 1 байт;

□ резерв — 10 байт;

□ время создания или последней модификации файла (час, минута, секунда) — 8 байт;

□ дата создания или последней модификации файла (год, месяц, день) — 2 байта;

□ номер кластера, с которого начинается файл на диске — 2 байта (в FAT16);

□ фактическая длина файла в байтах — 4 байта.

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

Каждый диск хранит свою файловую структуру, которая формируется по следующим правилам:

□ файл или каталог может входить с одним и тем же именем в один и тот же каталог только один раз;

□ допускается вхождение в различные каталоги файлов и каталогов с одинаковыми именами;

□ на порядок следования файлов и подкаталогов в каталоге никаких ограничений не накладывается;

□ глубина вложенности каталогов не ограничивается.

Файловая система обеспечивает формирование иерархической многоуровневой файловой структуры, в корне которой находится корневой каталог, а узлами и листьями являются каталоги и файлы. Рассмотрим пример дерева каталогоЕ (рис. 11.7). Здесь в состав корневого каталога включены подкаталоги ASM, VIF и DB, содержащие файлы компиляторов, программ антивирусной защиты и данных. В свою очередь, подкаталог ASM содержит компилятор языка ассемблер masm.exe и подкаталог ASMPROG, в котором находятся файлы с программами на этом языке. Подкаталог VIR содержит файлы aidstest.exe и dir.exe. В подкаталоге DB расположены файлы базы данных.

Рис. 11.7. Пример дерева каталогов

 

Объединение файлов в каталоги не означает, что они каким-либо образом сгруппированы в одном месте на диске. Более того, один и тот же файл может быть «разбросан» (фрагментирован) по всему диску. Сведения о местонахождении отдельных частей файла хранятся в таблице размещения файлов (FAT — File Allocation Table), находящейся на том же диске.