- Виртуальная файловая система
-
Виртуальная файловая система (англ. virtual file system — VFS) или виртуальный коммутатор файловой системы (англ. virtual filesystem switch) — уровень абстракции поверх конкретной реализации файловой системы. Целью VFS является обеспечение единообразного доступа клиентских приложений к различным типам файловых систем. VFS может быть использована, например, для прозрачного доступа к локальным и сетевым устройствам хранения данных без использования специального клиентского приложения (независимо от типа файловой системы). VFS определяет интерфейс между ядром и конкретной файловой системой, таким образом, можно легко добавлять поддержку новых типов файловых систем, внося изменения только в ядро операционной системы.
Иногда виртуальными файловыми системами называют псевдо-файловые системы, которые не предназначены для хранения данных. Примером такой системы является procfs.[1]
Содержание
Реализации
Одна из первых виртуальных файловых систем в Unix-подобных ОС была реализована Sun Microsystems в SunOS 2.0 в 1985 году. Это позволило системным вызовам Unix получить прозрачный доступ к локальной UFS и удалённой NFS. По этой причине, вендоры Unix-систем, получившие лицензию на код NFS, часто копировали дизайн VFS от Sun. Другие файловые системы могут быть подключены также: появилась реализация файловой системы MS-DOS FAT, разработанная в Sun, использовавшая SunOS VFS, хотя она не поставлялась в качестве продукта до SunOS 4.1. Реализация SunOS лежит в основе механизма VFS в System V Release 4.
Джон Хейдеманн (John Heidemann) разработал стековую VFS под SunOS 4.0 для экспериментальной файловой системы Ficus. Этот проект предусматривал повторное использование кода в файловых системах с различной, но похожей семантикой (например, шифрованная файловая система может использовать систему имён и код для хранения данных нешифрованной файловой системы). В своей диссертации Хейдеманн адаптировал эту работу для использования в 4.4BSD. Наследники этого кода лежат в основе реализаций современных файловых систем в операционных системах, производных от BSD, включая Mac OS X.
Другие виртуальные файловые системы Unix включают File System Switch в System V Release 3, Generic File System в Ultrix и VFS в Linux.
В OS/2 и Microsoft Windows механизм виртуальной файловой системы называется устанавливаемой файловой системой (Installable File System).
Файловая система в пользовательском пространстве (Filesystem in Userspace — FUSE) позволяет программам реализовать файловую систему в пользовательском пространстве через подключение к виртуальной файловой системе. FUSE используется в Linux, FreeBSD, OpenSolaris, и Mac OS X.
См. также
- 9P — протокол файловой системы Plan 9
Примечания
Ссылки
Файловые системы (список • сравнение) Дисковые ADFS • AdvFS • BeFS • Btrfs • EFS • ext • ext2 • ext3 • ext3cow • Next3 • ext4 • FAT • FATX • VFAT • FFS • Files-11 • GFS • HFS • HFS Plus • XFSX • HPFS • ISO 9660 • JFS • LFS • MFS (Macintosh) • MFS (Tivo) • Minix • MUFS • NWFS • NILFS • NSS • NTFS • Protogon (В разработке) • PFS • Qnx4fs • Qnx6fs • ReiserFS • Reiser4 • SFS • SpadFS • UFS • UFS2 • UDF • VxFS • WinFS • WAFL • XFS • ZFS • Больше...
Оптические диски ISO 9660 • UDF Флеш-память/SSD FAT • exFAT (FAT64) • TFAT • FFS2 • JFFS • JFFS2 • LogFS • NVFS • UDF • YAFFS Кластерные Files-11 • GFS • OCFS • QFS • Xsan • Больше... Распределённые
(сетевые)AFS • OpenAFS • AFP • Ceph • DFS • GlusterFS • GPFS • Google File System • Lustre • NCP • NFS • POHMELFS • Hadoop • Kosmos • HAMMER • SMB (CIFS) • Больше... Специальные cramfs • FUSE • Squashfs • UMSDOS • UnionFS • Больше...
Псевдо- и виртуальные configfs • devfs • procfs • specfs • sysfs • tmpfs • WinFS Шифрованные EncFS • EFS • FSFS • SSHFS • SolFS • ZFS Категория:- Файловые системы
Wikimedia Foundation. 2010.