<<
>>

Виртуальная файловая система Linux

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

В табл. 10.12 даны четыре основные структуры файловой системы, поддерживаемые VFS. Суперблок содержит критичную информацию о компоновке файловой системы. Разрушение суперблока делает файловую систему нечитаемой. ^узел (сокращение от «индекс-узлы», никто их так не называет) описывает один файл. Обратите внимание на то, что в Linux каталоги и устройства также представлены файлами, так что они тоже имеют соответствующие ^узлы.

И суперблок, и ^узлы имеют соответствующие структуры на том физическом диске, где находится файловая система.
Таблица 10.12. Поддерживаемые в VFS абстракции файловой системы
Объект Описание Операция
Суперблок Конкретная файловая система read_inode, sync_fs
Элемент каталога (dentry) Элемент каталога, компонент пути create, link
i-узел Конкретный файл d_compare, d_delete
Файл (file) Открыть связанный с процессом файл read, write

Чтобы улучшить некоторые операции с каталогами и перемещение по путям (таким, как /usr/ast/bin), VFS поддерживает структуру данных dentry, которая представляет элемент каталога. Эта структура данных создается файловой системой на ходу.

Элементы каталога кэшируются в так называемом dentry_cache. Например, dentry_cache будет содержать элементы для /, /usr, /usr/ast и т. д. Если несколько процессов обращаются к одному и тому же файлу при помощи одной и той же жесткой ссылки (то есть одного и того же пути), то их объект файла будет указывать на один и тот же элемент в этом кэше.

И наконец, структура данных file является представлением открытого файла в памяти, она создается в ответ на системный вызов open. Она поддерживает такие операции, как read, write, sendfile, lock (и прочие описанные в предыдущем разделе системные вызовы).

Реализованные под уровнем VFS реальные файловые системы не обязаны использовать внутри себя точно такие же абстракции и операции. Однако они должны реализовать семантически эквивалентные операции файловой системы (такие же, как указанные для объектов VFS). Элементы структур данных operations для каждого из четырех объектов VFS — это указатели на функции в нижележащей файловой системе.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Виртуальная файловая система Linux:

  1. Виртуальное послесловие
  2. ГЛАВА 11 ПРАВОВЫЕ ПРОБЛЕМЫ ВИРТУАЛЬНОЙ СРЕДЫ ИНТЕРНЕТ
  3. Виртуальное сексуальное насилие над детьми
  4. § 39 Классификация договоров в отдельных видах. – Римская классификация. – Система прусского закона, французского и австрийского кодекса. – Система русского свода. – Система настоящего изложения.
  5. Тема 15 Правова система і система права. Система законодавства та систематизація нормативно-правових актів
  6. Глава 4. Система права и система законодательства
  7. §5. Система военных судов в РФ как часть системы судов общей юрисдикции
  8. Единство и взаимосвязь правовой системы и системы правового общества
  9. § 1.3. Система трудового права і система трудового законодавства
  10. § 33 Общее правило о переходе наследства к детям. – Отличие отделенных от неотделенных. – Право представления. – Право родительское. – Право боковых родственников. – Римская система определения прав по классам и степеням. – Германская система определения прав по линиям и коленам.
  11. § 14 Отношения супругов по имуществу. – Германское начало общения имуществ в браке и римская система приданого. – Особое имущество жены. – Разнообразные системы западных законодательств. – Раздел имуществ по прекращении брака. – Ограничения брачных договоров и сделок между супругами. – Английский закон об отношениях супругов по имуществу.
  12. § 34 Смешанные системы в новейших законодательствах. – Происходящее от различия сих систем различие в порядке раздела и в допущении права представления. – Ограничение наследственного права пределами родства. – Ограничение женщин. – Разделение наследства между родами. – Возвращение подаренного родителями. – Наследование супругов и незаконных детей и родителей. – Закон наследования в Англии.
  13. Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ, 2015