星期二, 3月 25, 2008

FUSE (Filesystem in Userspace)

這裡所指的FUSE是Filesystem in Userspace,可不是保險絲。
一般來說,檔案系統的開發是需要寫kernel-level module的,但是kernel-level programming比較困難,不容易debug,而且只要一不小心很可能會造成整個系統當機。FUSE則是用來解決這個問題的一個Linux kernel標準module。
FUSE是一套允許使用者自行建立在Linux上執行的檔案系統的開發套件,這個套件包含了kernel module以及系統相關的library。其中kernel module是用來與Linux kernel的VFS的介面銜接,VFS使得應用程式可以不需要理會所使用的檔案系統為何,就可以在各式各樣的檔案系統上進行檔案存取的動作,因為VFS會根據mount point資訊以及應用程式所要存取的路徑來決定應該將request轉到那個檔案系統模組進行處理。換句話說,有了FUSE的幫忙,我們就可以輕鬆的在user level進行檔案系統功能的開發,可以應用以往在user level 所學的工具以及programming資源來進行檔案系統的開發,實在是一個不錯的開發工具。

沒有留言: