Что такое Виртуальная файловая система или файловая система в пространстве пользователя?

Я просто столкнулся с VFS и файловой системой в пространстве пользователя как FUSE.

Теперь, насколько я понимаю, это моделирует файловую систему, так, чтобы приложение могло иметь стандартную иерархию файловой системы. Но я не понимаю, почему нам нужна отдельная файловая система для этого? Мы не можем только создать регулярную структуру папок и поместить файлы, которые будут использоваться приложением?

Так, мои вопросы:

  1. Что такое VFS?

  2. Можно ли дать некоторые примеры реального мира, варианты использования, где VFS используется.

  3. Что преимущество использования является VFS?

Какой-либо Java базирующийся VFS?

9
задан zengr 26 May 2010 в 05:20
поделиться

1 ответ

VFS относится не к «фальшивой» файловой системе, а к абстрактному интерфейсу файловой системы, который операционные системы POSIX представляют процессам приложений. Например:

  • open ()
  • close ()
  • read ()
  • write ()
  • и т. Д.

Все реализации файловых систем (ext3, XFS, reiserfs и т. Д.) Предоставляют один и тот же интерфейс поверх любых конкретных структур и алгоритмов, которые они используют.

FUSE - это средство обеспечения этого интерфейса кодом, который не работает в ядре. Это может значительно повысить стабильность и безопасность, поскольку код ядра является привилегированным, а код пользовательского пространства - нет. Такое разделение делает гораздо более разумным писать файловые системы с множеством внешних зависимостей. Веб-страница FUSE описывает многие файловые системы , построенные с использованием FUSE.

4
ответ дан 4 December 2019 в 11:04
поделиться