Відповіді:
Я не позитивний, якщо ви маєте на увазі реальну, дискову файлову систему або будь-яку файлову систему. Я ніколи не бачив, щоб нормальна файлова система використовувала FUSE, хоча, мабуть, це можливо; головна перевага FUSE полягає в тому, що він дозволяє вам представити щось додаткам (або користувачеві), схожим на файлову систему, але насправді просто викликає функції у вашій програмі, коли користувач намагається робити такі речі, як список файлів у каталозі або створення нового файл. Plan9 добре відомий тим, що намагається зробити все доступним через файлову систему, і /proc
псевдофайлова система походить від них; FUSE - це спосіб програм легко слідувати цій схемі
Наприклад, ось скріншот (дуже функціональної) файлової системи FUSE, що надає доступ до даних про сайт SE:
Звичайно, жоден із цих файлів насправді не існує; на ls
запит про список файлів у каталозі FUSE викликав функцію в моїй програмі, яка зробила запит API на цей сайт для завантаження інформації про користувача 73 (мені); cat
намагаючись читати display_name
і website_url
викликати більше функцій, які повертали кешовані дані з пам'яті, без нічого фактично існуючого на диску
Файлові системи Unix традиційно реалізуються в ядрі. FUSE дозволяє реалізувати файлові системи користувальницькою програмою.
Файлові системи в ядрі краще підходять для основних файлових систем для програм і даних:
Файлові системи FUSE мають і інші переваги, в основному обертаючись навколо своєї гнучкості:
FUSE насправді не є файловою системою, але кодом, який дозволяє файлові системи реалізовуватись як процеси замість модулів ядра.
Однією з найкорисніших переваг FUSE є надання дозволу GPL-коду "змішуватися" з не-GPL. Наприклад, Gnu / Linux і ZFS http://zfs-fuse.net/ або NTFS-3G на багатьох ОС, таких як OpenSolaris і * BSD http://www.tuxera.com/community/ntfs-3g-download/
Основним недоліком є вплив на продуктивність порівняно з рідними (ядрами) драйверами.