Виртуальная файловая система
Виртуальная файловая система (англ. 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 Больше...
|
||||||
| Распределённые (сетевые) |
AFS OpenAFS AFP Ceph DFS GlusterFS GPFS Google File System Lustre NCP NFS POHMELFS Hadoop Kosmos HAMMER SMB (CIFS) Больше... | ||||||
| Специальные |
cramfs FUSE Squashfs UMSDOS UnionFS Больше...
|
||||||

