FUSE軟件介紹
FUSE(用戶空間文件系統(tǒng))作為類UNIX系統(tǒng)平臺(tái)上可加載的內(nèi)核模塊,允許非特權(quán)用戶創(chuàng)建功能完備的文件系統(tǒng),而不需要重新編譯內(nèi)核。FUSE模塊僅僅提供kernel模塊的接入口,而本身的主要實(shí)現(xiàn)代碼位于用戶空間中。對(duì)于讀寫(xiě)虛擬文件系統(tǒng)來(lái)說(shuō),F(xiàn)USE是個(gè)很好的選擇。 FUSE起初是為了研究AVFS(A VirtualFilesystem)而設(shè)計(jì)的,而現(xiàn)在已經(jīng)成為SourceForge的一個(gè)獨(dú)立項(xiàng)目,目前適用的平臺(tái)有Linux, FreeBSD,NetBSD, OpenSolaris和Mac OS X。
FUSE軟件優(yōu)勢(shì)
庫(kù)文件簡(jiǎn)單
安裝簡(jiǎn)便,不需要加補(bǔ)丁或者重新編譯kernel
執(zhí)行安全,使用穩(wěn)定
實(shí)現(xiàn)用戶空間——kernel接口高效
非特權(quán)用戶可以使用
基于linux2.4.x和2.6.x內(nèi)核,現(xiàn)在可以支持JavaTM 綁定,不必限定使用C和C++來(lái)編寫(xiě)文件系統(tǒng)
FUSE軟件特色
使用 FUSE 您可以開(kāi)發(fā)功能完備的文件系統(tǒng):其具有簡(jiǎn)單的API 庫(kù),可以被非特權(quán)用戶訪問(wèn),并可以安全的實(shí)施。更重要的是,F(xiàn)USE 以往的表現(xiàn)充分證明了其穩(wěn)定性。
使用FUSE,您可以像可執(zhí)行二進(jìn)制文件一樣來(lái)開(kāi)發(fā)文件系統(tǒng),它們需要鏈接到FUSE 庫(kù)上—— 換言之,這個(gè)文件系統(tǒng)框架并不需要您了解文件系統(tǒng)的內(nèi)幕和內(nèi)核模塊編程的知識(shí)。
就文件系統(tǒng)來(lái)說(shuō),用戶空間的文件系統(tǒng)就不再是新奇的設(shè)計(jì)了。用戶空間文件系統(tǒng)的商業(yè)實(shí)現(xiàn)與學(xué)術(shù)實(shí)現(xiàn)的實(shí)例包括:
LUFS是一個(gè)混合用戶空間的文件系統(tǒng)框架,它對(duì)用于任何應(yīng)用程序無(wú)數(shù)的文件系統(tǒng)提供透明支持。大部分LUFS包括一個(gè)內(nèi)核模塊和一個(gè)用戶空間的守護(hù)進(jìn)程。從根本上來(lái)說(shuō),它將大部分VFS 調(diào)用都委托給一個(gè)專用的守護(hù)進(jìn)程來(lái)處理。 UserFS 讓用戶進(jìn)程可以像普通的文件系統(tǒng)一樣進(jìn)行加載。這種概念性的原型提供了 ftpfs,這可以使用文件系統(tǒng)接口提供匿名 FTP 訪問(wèn)。Ufo Project 是為 Solaris 提供的一個(gè)全局文件系統(tǒng),它允許用戶將遠(yuǎn)程文件真正當(dāng)作本地文件一樣對(duì)待。OpenAFS 是 Andrew FileSystem 的一個(gè)開(kāi)源版本。 CIFS 是 Common Internet FileSystem 的簡(jiǎn)稱。
與這些商業(yè)實(shí)現(xiàn)和學(xué)術(shù)實(shí)現(xiàn)不同,F(xiàn)USE 將這種文件系統(tǒng)的設(shè)計(jì)能力帶到了Linux 中來(lái)。由于FUSE 使用的是可執(zhí)行程序(而不像 LUFS 一樣使用的是共享對(duì)象),因此可以簡(jiǎn)化程序的調(diào)試和開(kāi)發(fā)。FUSE 可以在 2.4.x 和 2.6.x 的內(nèi)核上使用,現(xiàn)在可以支持 Java? 綁定,因此您可以不必限定于使用C 和 C++ 來(lái)編寫(xiě)文件系統(tǒng)了。(有關(guān)更多使用 FUSE 的用戶層的文件系統(tǒng)的內(nèi)容。)
要在 FUSE 中創(chuàng)建一個(gè)文件系統(tǒng),您需要安裝一個(gè) FUSE 內(nèi)核模塊,然后使用 FUSE 庫(kù)和 API 來(lái)創(chuàng)建自己的文件系統(tǒng)。
FUSE軟件說(shuō)明
用戶空間文件系統(tǒng)(Filesystem in Userspace,簡(jiǎn)稱FUSE)是操作系統(tǒng)中的概念,指完全在用戶態(tài)實(shí)現(xiàn)的文件系統(tǒng)。目前Linux通過(guò)內(nèi)核模塊對(duì)此進(jìn)行支持。一些文件系統(tǒng)如glusterfs和lustre使用FUSE實(shí)現(xiàn)。
Linux用于支持用戶空間文件系統(tǒng)的內(nèi)核模塊名叫FUSE,F(xiàn)USE一詞有時(shí)特指Linux下的用戶空間文件系統(tǒng)。
是一個(gè)通用操作系統(tǒng)重要的組成部分。傳統(tǒng)上操作系統(tǒng)在內(nèi)核層面上對(duì)文件系統(tǒng)提供支持。而通常內(nèi)核態(tài)的代碼難以調(diào)試,生產(chǎn)率較低。
Linux從2.6.14版本開(kāi)始通過(guò)FUSE模塊支持在用戶空間實(shí)現(xiàn)文件系統(tǒng)。
在用戶空間實(shí)現(xiàn)文件系統(tǒng)能夠大幅提高生產(chǎn)率,簡(jiǎn)化了為操作系統(tǒng)提供新的文件系統(tǒng)的工作量,特別適用于各種虛擬文件系統(tǒng)和網(wǎng)絡(luò)文件系統(tǒng)。上述ZFS和glusterfs都屬于網(wǎng)絡(luò)文件系統(tǒng)。但是,在用戶態(tài)實(shí)現(xiàn)文件系統(tǒng)必然會(huì)引入額外的內(nèi)核態(tài)/用戶態(tài)切換帶來(lái)的開(kāi)銷,對(duì)性能會(huì)產(chǎn)生一定影響。
FUSE更新日志1.修復(fù)部分bug
2.優(yōu)化了部分功能