Виртуальная файловая система - ТЕЗИСЫ из одноимённой главы книги Роберта Лава " Разработка ядра Линукс"
Primary tabs
Forums:
Тезисы о виртуальной файловой системе (ВФС) по материалам главы "Виртуальная файловая система" книги Роберта Лава " Разработка ядра Linux"
- Виртуальная файловая система предоставляет программам обобщённый интерфейс доступа к файлам, представленным в различных файловых системах
- Такое обобщение возможно благодаря определению базовых интерфейсов и структур данных, которые необходимы для поддержки взаимодействия со всеми файловыми системами
- Виртуальная система пишется в соответствии с шаблоном и с помощью кода отвечает на вопросы типа "как открыть файл?" - "каким образом будет представляться директория?" и т.д.
- Исторически сложилось так, что ОС Юникс поддерживает четыре абстракции для файловых систем =
- файлы,
- элементы каталогов
- индексы
- точки монтирования
- Файловая система - это иерархическое хранилище данных, имеющее определённую структуру
- Обычные операции выполняемые с файловыми системами =
- создание
- удаление
- монтирование
- В юникс файловая система монтируется на определённую точку в файловой иерархии - называемую пространством имён - таким образом файлы группируются в одну древовидную структуру
- Файл - это упорядоченный поток байтов, где первый байт -начало файла, а второй байт - конец файла. Операции, определённые для файла =
- создание
- запись
- чтение
- удаление
- В юникс каталог - это файл, содержащий список вложенных в него файлов и подкаталогов - соответственно, операции для каталога идентичны операциям для файла
- Данные о файле - мета-информация вроде прав доступа и времени создания хранятся в отдельной структуре - индексах
- Суперблок— это структура данных, которая содержит информацию о файловой системе в целом а также информацию об отдельных файлах (видимо - их индексы)
- Виртуальная файловая система поддерживает четыре основных типа объектов =
- Объект суперблок - представляет определённую смонтированную файловую систему
- Объект файловый индекс - представляет определённый файл
- Объект элемент каталога - представляет определённый элемент каталога
- Объект файл - представляет открытый файл ,связанный с каким-либо процессом
Каждый из этих основных объектов содержит объект, описывающий операции - методы , которые ядро может применить по отношению к основным объектам
- Объекты операций , представляют собой структуры, содержащие указатели на функции , которые и содержат определение действий в виде кода.
- В ВФС есть и другие типы структур в частности - каждый процесс имеет три структуры, которые описывают файловую систему и файлы, связанные с процессом=
- file_struct
- fs_struct
- namespace
- Log in to post comments
- 2008 reads