Filesystem in Userspace (FUSE) is a loadable Unix kernel module that allows non-privileged users to create their file systems without editing the kernel code. The code of these file systems is run on userspace programs – FUSE helps them link to the kernel interface.
FUSE is available on several operating systems, including Linux, macOS, and Android.
FUSE is built on two main components: the
fuse kernel module and the
libfuse userspace library. The
libfuse library provides functionality to mount and unmount file systems. It also enables reading and responding to kernel requests.
When implementing a new file system, a handler program linked to
libfuse is written. This program governs how the file system will respond to kernel requests, and plays an integral role in mounting and unmounting file systems and in kernel-user communication.
View all Courses