Файл в
ОС UNIX – множество символов с произвольным доступом. В файле
содержатся произвольные данные, помещенные туда пользователем и ничего более.
Структура файловой системы
Информация
на дисках размещается поблочно, по 512 байт в каждом блоке, блок равен сектору.
Диск разбивается на следующие области:
-
неиспользуемый блок;
-
управляющий блок или суперблок, в котором содержится
размер диска и границы других областей;
-
i-список,
состоящий из описаний файлов, называемых i-узлами;
-
область для хранения содержимого файлов.
Каждый i-узел содержит:
-
идентификационный номер владельца;
-
идентификационный номер группы владельцев;
-
права доступа;
-
физические адреса на диске, где находится содержимое
файла;
-
размер файла;
-
время создания файла;
-
время последней модификации файла;
-
время последнего изменения атрибутов;
-
число ссылок на файл;
-
тип файла: каталог, обычный файл или специальный файл.
Следом
за i-списком идут блоки, предназначенные для хранения файлов. Пространство
на диске, оставшееся свободным от файлов, образует связанный список свободных
блоков.
Защита
файлов
Защита файлов осуществляется при помощи
идентификатора пользователя и десяти битов защиты – прав доступа. Права доступа
подразделяются на три типа:
-
чтение (read);
-
запись (write);
-
исполнение (execute).
Эти права доступа могут быть предоставлены трем
классам пользователей:
-
владельцу файла;
-
группе, в которую входит владелец;
-
всем прочим пользователям.
Атрибуты доступа определяют, что разрешено делать с
данным файлом данной категории пользователей.
При создании файла модифицируется не сам файл, а
каталог, в котором появляются новые ссылки на узлы. Удаление файла заключается
в удалении ссылки. Право на создание и удаление файла – это право на запись в
каталог.
Право на выполнение каталога интерпретируется как
право на поиск в нем, прохождение через него. Оно позволяет обратиться к файлу
по пути, содержащему данный каталог, даже тогда, когда каталог не разрешено
читать и список всех его файлов недоступен.
|