Jump to content

Filesystem in Userspace: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Maxhy (talk | contribs)
Fix Dokan link
Trek00 (talk | contribs)
hurd reference
Line 17: Line 17:
'''Filesystem in Userspace''' ('''FUSE''') is a [[software interface]] for [[Unix-like]] computer [[operating system]]s that lets non-privileged users create their own [[file system]]s without editing [[kernel (computing)|kernel]] code. This is achieved by running file system code in [[user space]] while the FUSE module provides only a "bridge" to the actual kernel interfaces.
'''Filesystem in Userspace''' ('''FUSE''') is a [[software interface]] for [[Unix-like]] computer [[operating system]]s that lets non-privileged users create their own [[file system]]s without editing [[kernel (computing)|kernel]] code. This is achieved by running file system code in [[user space]] while the FUSE module provides only a "bridge" to the actual kernel interfaces.


The FUSE system was originally part of [http://sourceforge.net/projects/avf A Virtual Filesystem] (AVFS), but has since split off into its own project on [[SourceForge.net]]. FUSE is [[free software]] originally released under the terms of the [[GNU General Public License]] and the [[GNU Lesser General Public License]], later also reimplemented as part of the [[FreeBSD]] base system<ref>https://wiki.freebsd.org/WhatsNew/FreeBSD10</ref> and released under the terms of [[BSD licenses#2-clause|Simplified BSD]] license. An [[ISC license|ISC]]-licensed re-implementation by Sylvestre Gallon was released in March 2013<ref>http://openbsd.7691.n7.nabble.com/Fuse-and-sshfs-support-for-OpenBSD-td224422.html</ref> and incorporated into [[OpenBSD]] in June 2013.<ref>http://marc.info/?l=openbsd-cvs&m=137027468819965</ref>
The FUSE system was originally part of [http://sourceforge.net/projects/avf A Virtual Filesystem] (AVFS), that was heavily influenced by the translator concept of the [[GNU Hurd]].<ref>{{cite web|url=http://www.draketo.de/light/english/free-software/some-technical-advantages-of-the-hurd|title=Some technical advantages of the Hurd|date=May 15, 2011|accessdate=March 28, 2016}}</ref> FUSE is [[free software]] originally released under the terms of the [[GNU General Public License]] and the [[GNU Lesser General Public License]], later also reimplemented as part of the [[FreeBSD]] base system<ref>https://wiki.freebsd.org/WhatsNew/FreeBSD10</ref> and released under the terms of [[BSD licenses#2-clause|Simplified BSD]] license. An [[ISC license|ISC]]-licensed re-implementation by Sylvestre Gallon was released in March 2013<ref>http://openbsd.7691.n7.nabble.com/Fuse-and-sshfs-support-for-OpenBSD-td224422.html</ref> and incorporated into [[OpenBSD]] in June 2013.<ref>http://marc.info/?l=openbsd-cvs&m=137027468819965</ref>


FUSE is available for [[Linux]], [[FreeBSD]], [[OpenBSD]], [[NetBSD]] (as [[PUFFS (NetBSD)|puffs]]), [[OpenSolaris]], [[Minix 3]], [[Android (operating system)|Android]] and [[OS X]].<ref>http://osxfuse.github.io/</ref> It was officially merged into the mainstream [[Linux kernel]] tree in kernel version 2.6.14.<ref>{{cite web|url=http://www.linux.com/archive/feature/47839 |accessdate=July 31, 2011 |deadurl=yes |archiveurl=http://web.archive.org/web/20111214225158/http://www.linux.com/archive/feature/47839 |archivedate=December 14, 2011 }}</ref>
FUSE is available for [[Linux]], [[FreeBSD]], [[OpenBSD]], [[NetBSD]] (as [[PUFFS (NetBSD)|puffs]]), [[OpenSolaris]], [[Minix 3]], [[Android (operating system)|Android]] and [[OS X]].<ref>http://osxfuse.github.io/</ref> It was officially merged into the mainstream [[Linux kernel]] tree in kernel version 2.6.14.<ref>{{cite web|url=http://www.linux.com/archive/feature/47839 |accessdate=July 31, 2011 |deadurl=yes |archiveurl=http://web.archive.org/web/20111214225158/http://www.linux.com/archive/feature/47839 |archivedate=December 14, 2011 }}</ref>
Line 58: Line 58:
== See also ==
== See also ==
{{Portal|Free software}}
{{Portal|Free software}}
*[[GNU Hurd]], the operating system that introduced the translator concept, attaching user space programs to the virtual file system
*[[9P]], the file protocol from the [[Plan 9 from Bell Labs|Plan 9 operating system]], which preceded FUSE and provides many of the same features
*[[9P]], the file protocol from the [[Plan 9 from Bell Labs|Plan 9 operating system]], which preceded FUSE and provides many of the same features
*[[Installable File System]]
*[[Installable File System]]

Revision as of 23:43, 27 March 2016

Filesystem in Userspace
Stable release
2.9.2 / 16 October 2012; 12 years ago (2012-10-16)
Repository
Written inC
Operating systemUnix-like
TypeFile system driver
LicenseGPL for kernel part, LGPL for Libfuse, Simplified BSD on FreeBSD, ISC license on OpenBSD
Websitefuse.sourceforge.net

Filesystem in Userspace (FUSE) is a software interface for Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a "bridge" to the actual kernel interfaces.

The FUSE system was originally part of A Virtual Filesystem (AVFS), that was heavily influenced by the translator concept of the GNU Hurd.[1] FUSE is free software originally released under the terms of the GNU General Public License and the GNU Lesser General Public License, later also reimplemented as part of the FreeBSD base system[2] and released under the terms of Simplified BSD license. An ISC-licensed re-implementation by Sylvestre Gallon was released in March 2013[3] and incorporated into OpenBSD in June 2013.[4]

FUSE is available for Linux, FreeBSD, OpenBSD, NetBSD (as puffs), OpenSolaris, Minix 3, Android and OS X.[5] It was officially merged into the mainstream Linux kernel tree in kernel version 2.6.14.[6]

Virtual file system

FUSE is particularly useful for writing virtual file systems. Unlike traditional file systems that essentially save data to and retrieve data from disk, virtual filesystems do not actually store data themselves. They act as a view or translation of an existing file system or storage device.

In principle, any resource available to a FUSE implementation can be exported as a file system.

Ports

Example uses

  • Wuala: A multi-platform, Java-based fully OS integrated distributed file system. Using FUSE, MacFUSE and Callback File System respectively for file system integration, in addition to a Java-based app accessible from any Java-enabled web browser.
  • WebDrive: A commercial filesystem implementing WebDAV, SFTP, FTP, FTPS and Amazon S3
  • Transmit: A commercial FTP client that also adds the ability to mount WebDAV, SFTP, FTP and Amazon S3 servers as disks in Finder, via MacFUSE.
  • ExpanDrive: A commercial filesystem implementing SFTP/FTP/S3/Swift using FUSE
  • GlusterFS: Clustered Distributed Filesystem having ability to scale up to several petabytes.
  • SSHFS: Provides access to a remote filesystem through SSH
  • FTPFS
  • GmailFS: Filesystem which stores data as mail in Gmail
  • GVfs: The virtual filesystem for the GNOME desktop
  • EncFS: Encrypted virtual filesystem
  • NTFS-3G and Captive NTFS, allowing access to NTFS filesystems
  • WikipediaFS: View and edit Wikipedia articles as if they were real files
  • Sun Microsystems's Lustre cluster filesystem will use FUSE to allow it to run in userspace, so that a FreeBSD port is possible.[7] However, the ZFS-Linux port of Lustre will be running ZFS's DMU (Data Management Unit) in userspace.[8]
  • archivemount
  • Sector File System: Sector is a distributed file system designed for large amount of commodity computers. Sector uses FUSE to provide a mountable local file system interface
  • CloudStore (formerly, Kosmos filesystem): By mounting via FUSE, existing Linux utilities can interface with CloudStore
  • MooseFS: An open source distributed fault-tolerant file system available on every OS with FUSE implementation (Linux, FreeBSD, NetBSD, OpenSolaris, OS X), able to store petabytes of data spread over several servers visible as one resource.

See also

References

  1. ^ "Some technical advantages of the Hurd". May 15, 2011. Retrieved March 28, 2016.
  2. ^ https://wiki.freebsd.org/WhatsNew/FreeBSD10
  3. ^ http://openbsd.7691.n7.nabble.com/Fuse-and-sshfs-support-for-OpenBSD-td224422.html
  4. ^ http://marc.info/?l=openbsd-cvs&m=137027468819965
  5. ^ http://osxfuse.github.io/
  6. ^ http://web.archive.org/web/20111214225158/http://www.linux.com/archive/feature/47839. Archived from the original on December 14, 2011. Retrieved July 31, 2011. {{cite web}}: Missing or empty |title= (help); Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  7. ^ "Lustre FreeBSD". Retrieved 2008-03-02.
  8. ^ "Architecture ZFS for Lustre". Sun Microsystems. Retrieved 2008-03-02.