Fuse4X - стандартна реалізація Fuse API для MacOSX

Чудова новина в стані розробників під 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 і надсилайте свої патчі.