2.2.4 Файловая система

Предыдущая  Содержание  Следующая V*D*V

В Linux различные файловые системы управляются уровнем, называемым VFS или виртуальной файловой системой. Виртуальная файловая система обеспечивает согласованное представление данных, хранящихся в системе на разных устройствах. Она делает это путём отделения пользовательского представления файловых систем с использованием стандартных системных вызовов, но позволяя разработчикам ядра реализовывать логические файловые системы на любом физическом устройстве. Таким образом, это абстрагирует детали физического устройства и логической файловой системы, и позволяет пользователям получать доступ к файлам одинаковым способом.

Любому устройству Linux, будь то встроенная система или сервер, необходима по крайней мере одна файловая система. Это отличается от исполняющих систем реального времени, которые не требуют вообще какой-либо файловой системы. В Linux необходимость иметь файловые системы проистекает из двух фактов:

 

Приложения имеют отдельные программные образы и, следовательно, они должны иметь место для хранения в файловой системе.

Доступ ко всем низкоуровневым устройствам реализуется так же, как к файлам.

 

Каждой системе Linux необходимо иметь основную файловую систему, корневую файловую систему. Она монтируется при старте системы. Позже с помощью этой файловой системы могут быть установлены многие другие файловые системы. Если система не может смонтировать корневую файловую систему на указанном устройстве, оно будет паниковать, а не выполнять запуск системы.

Наряду с дисковыми файловыми системами, Linux поддерживает специализированные файловые системы, которые для встроенных систем реализованы на основе флеш-памяти и ПЗУ. Также в Linux есть поддержка NFS, которая позволяет на встроенной системе смонтировать файловую систему, находящуюся на сетевом устройстве. Linux поддерживает файловые системы на основе памяти, что также полезно на встраиваемых системах. Также есть поддержка логических или псевдо-файловых систем; они могут быть использованы для получения информации о системе, а также использоваться в качестве средств отладки. Ниже приведены некоторые из наиболее часто используемых встраиваемых файловых систем.

 

EXT2: классическая файловая система Linux, которая широко используется пользователями

CRAMFS: сжатая файловая система только для чтения

ROMFS: файловая система только для чтения

RAMFS: файловая система для чтения и записи на основе памяти

JFFS2: журналируемая файловая система, специально созданная для хранения на флеш

PROCFS: псевдо-файловая система, используемая для получения системной информации

DEVFS: псевдо-файловая система для хранения файлов устройств

 

Более подробно эти файловые системы рассматриваются в Главе 4.

 

Предыдущая  Содержание  Следующая