Какой смысл использовать виртуальную файловую систему?

Поэтому я делаю это программное обеспечение, которое шифрует файлы на компьютере. Мой друг (мы оба студенты, так что не стесняйтесь нас) предложил мне использовать виртуальную файловую систему. Я спросил, почему, и что даже это, и они дали мне какой-то полусонный ответ, который не помог

[Я не знаю, если это важно, но я в среде Linux]

так что не стоит беспокоиться, я пошел в Google и искал. Но я до сих пор не понимаю. Объяснения, особенно те, что в Википедии, не имеют смысла для меня. Что такое VFS? Какова реальная необходимость или преимущество использования виртуальной файловой системы? В отличие от просто нет?

Я спрашиваю, потому что на самом деле мне любопытно, и если это так полезно, я бы хотел воплотить это в то, что я делаю.

Спасибо

(также любые ссылки или книги или что-то, что я мог бы прочитать на этом, расширило бы мои знания, также помогло бы)

2 ответа

Вообще говоря, VFS это слой абстракции. Думайте о VFS как о абстрактном базовом классе, который должен использоваться, когда вы хотите реализовать свой конкретный класс файловой системы, такой как NTFS, Ext3, NFS или другие Он предлагает базовую функциональность, которую могут использовать конкретные файловые системы, но также является интерфейсом, который должны реализовывать конкретные классы.

Не знаю, если это было то, что вы искали. Дайте мне знать, если это не так, и я могу добавить больше деталей.

VFS является частью ядра и представляет собой унифицированный уровень абстракции, используемый файловыми системами и пользовательскими приложениями, который представляет несколько локальных или сетевых файловых систем в общедоступном формате, независимо от файловой системы тома, на котором находятся файлы, местоположения том, на котором находятся файлы (локальный или сетевой), стандарт шины/контроллера/хранилища или сетевой протокол, или файловая система смонтирована на томе или файловая система + том смонтированы в точке монтирования, что позволяет ему быть доступным в любом месте.

В состав ВФС входят:

  • Файловый ввод/вывод/сопоставление файлов/метаданные файлов/обход каталогов API, которые вызывают базовую файловую систему, смонтированную на томе, независимо от файловой системы.
  • API для драйверов файловой системы, которые будут уведомлены о прибытии тома, чтобы они могли определить, находится ли их файловая система на томе.
  • API для файловых систем для выполнения операций чтения/записи на томе с их файловой системой без знания базовых стандартов передачи шины/контроллера/хранилища или сетевого хранилища (блока, файла)/транспорта/сети/канала передачи данных/физических протоколов, или физический раздел или сектор тома на носителе данных (только логический кластер внутри него) или работа носителя данных (кроме знания о том, имеет ли значение внешняя фрагментация).
  • Функциональность точки повторной обработки, такая как точки монтирования, соединения каталогов и символические ссылки — она повторно анализирует путь к файлу (в отличие от жесткой ссылки), чтобы создать путь к файлу для доступа к базовой файловой системе.
  • Кэширование страниц файлов, чтобы их можно было извлечь из ОЗУ без вызова файловой системы, а только с вызовом файловой системы на странице промаха файлового кэша (см. комментарии).
  • Предварительная выборка частей файла вокруг пропуска страницы (подкачка по требованию) или предварительная выборка связанных файлов или динамических библиотек, т.е. предварительная выборка в Windows или даже Superfetch.

Затем приложение с графическим интерфейсом проводника файлов может использовать API для взаимодействия с представлением виртуальной файловой системы томов, а VFS вызывает базовую файловую систему, которая затем считывает/записывает свои тома через VFS. Затем файловый менеджер может визуально представлять виртуальные представления файловой системы томов на общем интерфейсе.

Другие вопросы по тегам