Организация файловой системы UNIX имеет древовидную структуру, вершина
которой называется корнем, а сама структура называется
файловым деревом. Каждая вершина в файловом дереве, за исключением листьев,
является каталогом, листья же в свою очередь являются либо обычными файлами,
либо файлами устройств (Рис. 1).
Для того, чтобы добраться до файла необходимо указать его имя, которому предшествует указание пути поиска, который описывает местоположение файла в файловом дереве. Путь поиска состоит из компонент, разделенных между собой наклонной чертой (``/''), которые представляют из себя последовательность вершин в файловом дереве, которые необходимо посетить, чтобы достигнуть требуемый файл. Путь поиска может начинаться в корне, в этом случае первая компонента пути записывается как ``/'' (например ``/usr/src/cmd/date.c''). Такой путь называется полным. Также путь может отсчитываться относительно текущей директории (например если текущей директорией является ``cmd'', то путь ``date.c'' соответствует пути ``/usr/src/cmd/date.c'').
В файловой системе UNIX также существует понятие прав доступа к файлу. Права доступа к файлу регулируются установкой специальных битов разрешения доступа, связанных с файлом. Устанавливая биты разрешения доступа, можно независимо управлять выдачей разрешений на чтение, запись и выполнение для трех категорий пользователей: владельца файла, группового пользователя и прочих. Пользователи также могут создавать файлы, если разрешен доступ к каталогу. Вновь созданные файлы становятся листьями в древовидной структуре файловой системы.
Устройства в системе UNIX трактуются так, как если бы они были файлами. Обращение программ к устройствам имеет тот же самый синтаксис, что и обращение к обычным файлам; семантика операций чтения и записи по отношению к устройствам в большой степени совпадает с семантикой операций чтения и записи обычных файлов. Способ защиты устройств совпадает со способом защиты обычных файлов: путем соответствующей установки битов разрешения доступа к ним. Поскольку имена устройств выглядят так же, как и имена обычных файлов, и поскольку над уст- ройствами и над обычными файлами выполняются одни и те же операции, большинству программ нет необходимости различать внутри себя типы обрабатываемых файлов.
Итак, файловая система UNIX характеризуется: