Чудова новина в стані розробників під MacOSX. Зовсім недавно вийшов реліз проекту Fuse4X - порту Fuse під MacOSX.
Традиційно файлові системи розробляються як модулі ядра операційної системи, але на жаль це має свої недоліки:
- Розробка на рівні ядра складніша. Де-референс неправильного покажчика призводить до BSOD, deadlock в ядрі може призвести до підвисання системи, а також немає нормальних засобів дебагу модулів ядра.
- API різних ядер несумісне. Додаток, написаний під Linux, не буде працювати під MacOSX і навмання.
- Встановлення модуля ядра вимагає прав адміністратора.
Ці проблеми і покликаний вирішити Fuse. Спочатку цей проект рабрабатувався під Linux, але зараз він портований і під інші операційні системи, зокрема під MacOSX.
Fuse4X є форком і продовженням проекту MacFUSE. Ви напевно запитаєте «А що не так з MacFUSE»? Проект MacFUSE стартанув у 2007 році і завдяки своїй корисності швидко став популярним - macfuse використовується в десятках macosx додатках. Але в 2008 році автор (Amit Singh) перестав розробляти проект і переключився на комерційну версію MacFUSE. Більше того автор відмовляється передавати проект кому-небудь іншому. Останній реліз MacFUSE вийшов у 2008 році, не підтримує 10.6 і 64 бітне ядро. Загалом цей проект мертвий.
Fuse4X перейняв естафету у MacFUSE і продовжує його розвиток. Fuse4X відмінно працює під 10.6, на 64 бітних ядрах. Fuse4X набагато більш сумісний з Fuse під Linux - це особливо важливо для розробників крос-платформенних додатків.
Загалом, якщо вам необхідно представити якийсь ресурс як файлову систему - знайте що Fuse4X саме для вас.
Встановлюйте Fuse4X, користуйтеся ним, створюйте свої файлові системи, вивчайте вихідний код Fuse4X і надсилайте свої патчі.