Fuse besteht aus einem Kernelmodul einer Bibliothek und ein paar Progrämmchen.
Das Kernelmodul stellt alle nötigen funktionen zur verfügung, um Programmen es zu ermöglichen wie Dateisysteme zu eragieren. Wenn man ein programm startet, welches Fuse verwendet, so werden alle anfragen die auf dem mountpoint erfolchen (lesen schrigen, stat, mkdir, touch, etc.) an das Programm weitergeleitet, welches passend reagieren muß.
Die Voreile: - auch einfache User können Dateisysteme, ohne irgendwelche subit/sudo/rechte, mounten (sofern das dateisystem als als Fuseimplementation vorliegt.) - Es können Programmierstrukturen verwendet werden, die im Kernel selber nicht erlaubt sind (Rekusionen, Rückgriff auf andere Biblitheken usw.) - man kann zweckbezogene Dateisysteme programmieren (z.B. ein Dateisystem, welches die aktuellen Zustand einer Datenbank repräsentiert) - Der Kernel ist sicher wenn das Fuse-Dateisystem abstürzt. (vorausgesetzt, das Problem liegt nicht am Kernelmodul) - man ist nicht auf C angewiesen um ein Dateisystem zu Programmieren (man kann auch C#, Java, Ruby, Python, Perl, C++ verwenden)
die Nachteile: - Es ist langsamer als ein Kernelmodul - Es funktioniert nur wenn Fuse im Kernel ist. - Aus Sicherheit sind gewisse Aktionen nicht erlaubt. - die Anzahl der zu nutzenden Dateisysteme ist beschränkt (ich galube Kernelbedingt sind es 24) - Man braucht das Dateisystemprogramm um auf daten zurückgreifen zu können. Ein mit fuse erstelletes Dateisystem ist nur bedingt inerportabel,
Das Modul ist nur dazu gedacht Dateisysteme zu Programmieren, zu nichts anderem.
Das Kernelmodul stellt alle nötigen funktionen zur verfügung, um Programmen es zu ermöglichen wie Dateisysteme zu eragieren. Wenn man ein programm startet, welches Fuse verwendet, so werden alle anfragen die auf dem mountpoint erfolchen (lesen schrigen, stat, mkdir, touch, etc.) an das Programm weitergeleitet, welches passend reagieren muß.
Die Voreile:
- auch einfache User können Dateisysteme, ohne irgendwelche subit/sudo/rechte, mounten (sofern das dateisystem als als Fuseimplementation vorliegt.)
- Es können Programmierstrukturen verwendet werden, die im Kernel selber nicht erlaubt sind (Rekusionen, Rückgriff auf andere Biblitheken usw.)
- man kann zweckbezogene Dateisysteme programmieren (z.B. ein Dateisystem, welches die aktuellen Zustand einer Datenbank repräsentiert)
- Der Kernel ist sicher wenn das Fuse-Dateisystem abstürzt. (vorausgesetzt, das Problem liegt nicht am Kernelmodul)
- man ist nicht auf C angewiesen um ein Dateisystem zu Programmieren (man kann auch C#, Java, Ruby, Python, Perl, C++ verwenden)
die Nachteile:
- Es ist langsamer als ein Kernelmodul
- Es funktioniert nur wenn Fuse im Kernel ist.
- Aus Sicherheit sind gewisse Aktionen nicht erlaubt.
- die Anzahl der zu nutzenden Dateisysteme ist beschränkt (ich galube Kernelbedingt sind es 24)
- Man braucht das Dateisystemprogramm um auf daten zurückgreifen zu können. Ein mit fuse erstelletes Dateisystem ist nur bedingt inerportabel,
Das Modul ist nur dazu gedacht Dateisysteme zu Programmieren, zu nichts anderem.