FUSE (англ. filesystem in userspace — «файловая система в пользовательском пространстве») — свободный модуль для ядер Unix-подобных операционных систем, позволяет разработчикам создавать новые типы файловых систем, доступные для монтирования пользователями без привилегий (прежде всего — виртуальных файловых систем); это достигается за счёт запуска кода файловой системы в пользовательском пространстве, в то время как модуль FUSE предоставляет связующее звено для актуальных интерфейсов ядра. Он состоит из модуля ядра (fuse.ko), библиотеки пользовательского пространства (libfuse.*) и утилиты монтирования (fusermount). Одна из важнейших функций FUSE — возможность безопасного непривилегированного монтирования. C использованием средств FUSE разработаны, в частности, SSHFS, NTFS-3G, GlusterFS, ZFS.
FUSE распространяется под лицензиями GNU GPL и LGPL. Официально включён в главное дерево ядра Linux в версии 2.6.14. Также доступен для FreeBSD, NetBSD (как PUFFS), OpenSolaris, OS X, Minix 3.2, AmigaOS. Для операционных систем семейства Windows существует API-совместимый аналог Dokan.
Преимущества файловой системы FUSE (Filesystem in Userspace):
1. Гибкость и расширяемость: FUSE позволяет разработчикам создавать пользовательские файловые системы, не требуя изменения ядра операционной системы. Это делает FUSE гибким и легко расширяемым инструментом.
2. Поддержка различных операционных систем: FUSE поддерживает большое количество операционных систем, включая Linux, mac OS и FreeBSD. Это позволяет создавать кросс-платформенные приложения, работающие с файловыми системами FUSE.
3. Упрощение разработки: Использование FUSE упрощает разработку файловых систем, так как разработчикам не нужно писать код ядра операционной системы. Это позволяет сосредоточиться на разработке функциональности файловой системы, а не на ее интеграции с операционной системой.
Недостатки файловой системы FUSE:
1. Производительность: Использование FUSE может ухудшить производительность файловых операций из-за дополнительных уровней абстракции между пользовательским пространством и ядром операционной системы.
2. Ограничения безопасности: Поскольку пользовательские файловые системы могут работать в пользовательском пространстве, они могут иметь ограничения в доступе к некоторым системным ресурсам и функциям.
3. Совместимость: Некоторые приложения могут не поддерживать работу с файловыми системами FUSE из-за их уникальной архитектуры.