Атрибуты файлов

Понятие «файл» включает не только хранимые им данные и имя, но и атрибуты. Атрибуты - это информация, описывающая свойства файла.

Примеры возможных атрибутов файла:

тип файла (обычный файл, каталог, специальный файл и т.п.);

владелец файла;

создатель файла;

пароль для доступа к файлу;

информация о разрешенных операциях доступа к файлу;

время создания, последнего доступа и последнего изменения;

текущий размер файла;

максимальный размер файла;

признак «только для чтения»;

признак «скрытый файл»;

признак «системный файл»;

признак «архивный файл»;

признак «двоичный/символьный»;

признак «временный» (удалить после завершения процесса).

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

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

Значения атрибутов файлов могут непосредственно содержаться в каталогах, как это сделано в файловой системе MS-DOS. На рис. 5.4, а представлена структура 32-байтной записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены бинарные признаки файла: R - только для чтения, А – архивный, Н - скрытый, S - системный, M – метка тома, D – каталог.

 

8 байтов 3 байта 1 байт 4 байта

Имя файла Расширение R А Н S M D Резервные
Резервный Время Дата № первого кластера Размер
                   

 

а

2 байта 14 байтов

№ индексного дескриптора Имя файла

 

б

Рис. 5.4. Структура каталогов:
aструктура записи каталога MS-DOS (32 байта);
бструктура записи каталога ОС UNIX

Другим вариантом является размещение атрибутов в специальных таблицах, когда в каталогах содержатся только ссылки на эти таблицы.
Такой подход реализован, например, в файловой системе ufs ОС UNIX.
В этой файловой системе структура каталога очень простая. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла, так называется в ufs таблица, в которой сосредоточены значения атрибутов файла (рис. 5.4, б). В обоих вариантах каталоги обеспечивают связь между именами файлов и собственно файлами. Однако подход, когда имя файла отделено от его атрибутов, делает систему более гибкой. Например, файл может быть легко включен сразу в несколько каталогов. Записи об этом файле в разных каталогах могут содержать разные простые имена, но в поле ссылки будет указан один и тот же номер индексного дескриптора.