Операционные системы - статьи

         

Файловые системы в UNIX


Файловой системой называют часть ядра ОС, которая управляет организацией файлов и операциями над ними: в этом аспекте в одном ряду с файловой системой выступают система управления процессами и система ввода/вывода. Файловая система - это универсальный интерфейс доступа ко всем ресурсам, как локальной машины, так и компьютеров, объединенных в сеть. Универсальность интерфейса выражается в том, что все, что имеется в машине (и в сети) физически, представляется в виде файлов. Метафора файла охватывает не только компоненты программ и пользовательские данные, но и символьные и блочные устройства. Более того, интерфейс файловой системы обеспечивает доступ к протекающим в системе процессам. И даже средства межпроцессорного взаимодействия предстают в виде файлов особого типа.

Файловая система - это еще и принцип организации файлов как таковых: в этом контексте говорят о файловой системе Unix или FAT, HPFS или NTFS. И, наконец, файловая система - это физический способ организации данных на некоем устройстве. Он, как правило, специфичен для конкретной ОС. Linux способна работать, с "родными" с несколькими файловыми системами, начиная от традиционной ext2fs до XFS и JFS, разработанных для ОС IRIX и AIX.

Существуют еще и виртуальные файловые системы. К ним относятся уже упоминавшаяся файловая система устройств devfs и временная файловая система в оперативной памяти tmpfs, и procfs, ответственная за представление в виде файловой системы процессов, протекающих в машине.

Наконец, файловая система в Unix - это и логическая структура каталогов и файлов, которая может объединять физические и виртуальные файловые системы самых различных типов (например, дисковые разделы с файловыми системами ext2fs и FAT16, виртуальные procfs, devfs и tmpfs), причем не только на локальной машине, но и на любой удаленной. Эта структура: иерархическая, или древовидная, начинающаяся с корневого каталога, родительского по отношению ко всем прочим, от которого ответвляются отдельные файлы и дочерние каталоги, которые, в свою очередь, могут выступать как родительские по отношению к подкаталогам более глубоких уровней вложенности.

В ОС Linux структура файловой системы обычно специфична для конкретного дистрибутива или их группы, связанной единством происхождения, поэтому нередко можно столкнуться с такими выражениями, как файловая система Red Hat или Debian. Собственно, именно исторически сложившиеся различия в иерархии каталогов являются одним из критериев обособления нескольких линий дистрибутивов Linux. Однако можно надеяться, что усилиями стандартизирующих организаций, таких, как Linux Standard Base () и Filesystem Hierarchy Standard (http://www.pathname.com/fhs), увенчаются успехом, и можно будет говорить о единой логической файловой системе Linux, подобно тому, как это имеет место в линейке BSD.

Опубликовно 04.01.2003



Содержание раздела