Filesystem in Userspace

Kernel-Modul für Unix, mit dem Dateisystemtreiber vom Kernel- in den Usermode verlagert werden können
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 22. August 2015 um 12:03 Uhr durch H7 (Diskussion | Beiträge) (qs+). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Dieser Artikel wurde am 22. August 2015 auf den Seiten der Qualitätssicherung eingetragen. Bitte hilf mit, ihn zu verbessern, und beteilige dich bitte an der Diskussion!
Folgendes muss noch verbessert werden: Etwas "OMA"-tauglicher gestalten. --H7 (Diskussion) 12:03, 22. Aug. 2015 (CEST)

FUSE (Filesystem in Userspace) ist ein Kernel-Modul für Unix-Systeme, das es ermöglicht, Dateisystem-Treiber aus dem Kernel-Mode in den User-Mode zu verlagern. Es erlaubt damit nicht-privilegierten Benutzern, eigene Dateisysteme zu mounten. Mit Hilfe von FUSE lassen sich unter GNU/Linux, FreeBSD, OpenSolaris, Mac OS X oder Android die meisten existierenden Dateisysteme wie NTFS oder UDF einbinden.

Die Funktionsweise von FUSE: Es gibt zwar ein Kernel-Modul, aber die eigentliche Programmlogik (libfuse) läuft im Userspace (oben). Das zugreifende Programm ls (links-oben) greift wie über ein normales Dateisystem darauf zu, erst das Kernelmodul leitet den Aufruf um.
VFS: Virtuelles Dateisystem
NFS, Ext3, …: Dateisysteme
glibc: GNU-C-Bibliothek

Da FUSE-Dateisysteme – wie normale Anwendungsprogramme – im User-Mode laufen, muß sich der Entwickler nicht mit den Beschränkungen und Besonderheiten des Kernel-Modes auseinandersetzen. FUSE-Dateisysteme sind daher erheblich einfacher zu entwickeln und zu warten. So entstand eine Vielzahl von Treibern, die neben Speichermedien auch ganz andere Datenstrukturen als navigierbares Dateisystem abbilden. Das wohl bekannteste ist NTFS-3G, das den Zugriff auf die weit verbreiteten NTFS-Filesysteme ermöglicht.

Bekannte Dateisysteme und -Treiber

Geschichte

Am 15. Oktober 2004 wurde das FUSE-Projekt auf SourceForge gegründet, als Variante aus dem SHFS-Projekt hervorgehend. Seit dem 15. Januar 2005 war es Teil des mm-Kernels bevor es am 13. September 2005 in den offiziellen Linux-Kernel 2.6.14 aufgenommen wurde. Durch Re-Implementation unter der ISC-Lizenz (Veröffentlichung: März 2013[13]) wurde die Einbettung in OpenBSD erleichtert, was im Juni 2013 geschah. [14]

Seit Linux-Kernel 2.6.31[15] und NetBSD 5.0.[16] ist CUSE ein integrierter Treiber innerhalb von FUSE.

Ein in den Zielen ähnliches Projekt ist das Linux Userland Filesystem (LUFS), das mit der Einführung von FUSE jedoch an Bedeutung verloren hat und nicht mehr aktiv weiterentwickelt wird.

Einzelnachweise

  1. NTFS-3G: Voller NTFS-Schreibzugriff unter Linux. In: golem.de. 17. Juli 2006, abgerufen am 15. Juli 2015.
  2. http://www.linux-ntfs.org/
  3. David Wolski: Toolbox: Dateizugriffe mit sshfs – heise open. In: heise.de. 23. Juli 2012, abgerufen am 15. Juli 2015.
  4. http://zfs-on-fuse.blogspot.com/
  5. http://loggedfs.sourceforge.net/
  6. http://savannah.nongnu.org/projects/davfs2, zudem in der Lage, sich mit Client-Zertifikaten zu authentifizieren.
  7. http://0pointer.de/lennart/projects/fusedav/
  8. http://noedler.de/projekte/wdfs/
  9. http://sourceforge.net/projects/mysqlfs/
  10. http://www.gluster.org/
  11. http://wikipediafs.sourceforge.net
  12. http://wiki.ubuntuusers.de/CloudFusion
  13. openbsd dev - tech - Fuse (and sshfs) support for OpenBSD. 5. März 2013, abgerufen am 15. Juli 2015.
  14. 'CVS: cvs.openbsd.org: src' - MARC. 3. Juni 2013, abgerufen am 15. Juli 2015.
  15. Julius Stiebert: Linux-Kernel 2.6.31 unterstützt USB 3.0. Golem, 10. September 2009
  16. Announcing NetBSD 5.0. The NetBSD Project (netbsd.org)