Sumit Singh, 軟件工程師, IBM
2006 年 4 月 10 日
使用用戶(hù)空間的文件系統(tǒng)(FUSE),您無(wú)需理解文件系統(tǒng)的內(nèi)幕,也不用學(xué)習(xí)內(nèi)核模塊編程的知識(shí),就可以開(kāi)發(fā)用戶(hù)空間的文件系統(tǒng)框架。本文是一篇簡(jiǎn)單的逐步介紹的指南,內(nèi)容包括安裝、定制和啟用 FUSE 和 AFS,這樣您就可以在 linux® 的用戶(hù)空間中創(chuàng)建自己的功能完備的文件系統(tǒng)了。
文件系統(tǒng)是一種用來(lái)存儲(chǔ)和組織計(jì)算機(jī)文件、目錄及其包含的數(shù)據(jù)的方法,它使文件、目錄以及數(shù)據(jù)的查找和訪問(wèn)得到簡(jiǎn)化。假如您正在使用一臺(tái)計(jì)算機(jī),很可能使用了多個(gè)文件系統(tǒng)。文件系統(tǒng)能提供豐富的擴(kuò)展能力。它可以編寫(xiě)成底層文件系統(tǒng)的一個(gè)封裝程序,從而對(duì)其中的數(shù)據(jù)進(jìn)行治理,并提供一個(gè)增強(qiáng)的、具有豐富特性的文件系統(tǒng)(例如 cvsfs-fuse,它為 CVS 提供了一個(gè)文件系統(tǒng)的接口;或 Wayback 文件系統(tǒng),它提供了一種用于保留原始數(shù)據(jù)文件的文件備份機(jī)制)。
在用戶(hù)空間的文件系統(tǒng)出現(xiàn)之前,文件系統(tǒng)的開(kāi)發(fā)曾是內(nèi)核開(kāi)發(fā)人員的工作。創(chuàng)建文件系統(tǒng)需要了解內(nèi)核編程和內(nèi)核技術(shù)(例如 vfs)方面的知識(shí)。調(diào)試則需要 C 和 C++ 方面的專(zhuān)業(yè)技能。但是其他開(kāi)發(fā)人員需要熟練地操作文件系統(tǒng)以添加個(gè)性化特性(例如添加歷史記錄或轉(zhuǎn)發(fā)緩存)及對(duì)其改進(jìn)。
FUSE 簡(jiǎn)介
使用 FUSE 您可以開(kāi)發(fā)功能完備的文件系統(tǒng):其具有簡(jiǎn)單的 API 庫(kù),可以被非特權(quán)用戶(hù)訪問(wèn),并可以安全的實(shí)施。更重要的是,F(xiàn)USE 以往的表現(xiàn)充分證實(shí)了其穩(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ō),用戶(hù)空間的文件系統(tǒng)就不再是新奇的設(shè)計(jì)了。用戶(hù)空間文件系統(tǒng)的商業(yè)實(shí)現(xiàn)與學(xué)術(shù)實(shí)現(xiàn)的實(shí)例包括:
與這些商業(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 的用戶(hù)層的文件系統(tǒng)的內(nèi)容,請(qǐng)參閱 參考資料。)
要在 FUSE 中創(chuàng)建一個(gè)文件系統(tǒng),您需要安裝一個(gè) FUSE 內(nèi)核模塊,然后使用 FUSE 庫(kù)和 API 來(lái)創(chuàng)建自己的文件系統(tǒng)。



展開(kāi) FUSE
要開(kāi)發(fā)一個(gè)文件系統(tǒng),首先請(qǐng)下載 FUSE 的源代碼(請(qǐng)參閱 參考資料)并展開(kāi)這個(gè)包:tar -zxvf fuse-2.2.tar.gz。這會(huì)創(chuàng)建一個(gè) FUSE 目錄,其中保存的是源代碼。fuse-2.2 目錄的內(nèi)容如下:



|
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注