The macFUSE software consists of a kernel extension and various user space libraries and tools. Therefore, many existing FUSE file systems become readily usable on macOS.
It provides multiple APIs, one of which is a superset of the FUSE API (file system in user space) that originated on Linux. In more technical terms, FUSE implements a mechanism that makes it possible to implement a fully functional file system in a user-space program on macOS. Since FUSE file systems are regular applications (as opposed to kernel extensions), you have just as much flexibility and choice in programming tools, debuggers, and libraries as you have if you were developing standard macOS applications. Writing a file system using FUSE is orders of magnitude easier and quicker than the traditional approach of writing in-kernel file systems. The content of these file systems can come from anywhere: from the local disk, from across the network, from memory, or any other combination of sources. Legacy MacFUSE file systems are supported through the optional MacFUSE compatibility layer.Īs a developer, you can use the FUSE SDK to write numerous types of new file systems as regular user space programs. MacFUSE allows you to extend macOS's native file handling capabilities via third-party file systems.Īs a user, installing the macFUSE software package will let you use any third-party FUSE file system.