FUSE
外觀
用戶空間檔案系統(Filesystem in Userspace,簡稱FUSE)是作業系統中的概念,指完全在用戶態實現的檔案系統。目前Linux通過內核模組對此進行支援。一些檔案系統如ZFS,glusterfs和lustre使用FUSE實現。
Linux用於支援用戶空間檔案系統的內核模組名叫FUSE,FUSE一詞有時特指Linux下的用戶空間檔案系統。
檔案系統是一個通用作業系統重要的組成部分。傳統上作業系統在內核層面上對檔案系統提供支援。而通常內核態的代碼難以除錯,生產率較低。
Linux從2.6.14版本開始通過FUSE模組支援在用戶空間實現檔案系統。
在用戶空間實現檔案系統能夠大幅提高生產率,簡化了為作業系統提供新的檔案系統的工作量,特別適用於各種虛擬檔案系統和網絡檔案系統。上述ZFS和glusterfs都屬於網絡檔案系統。但是,在用戶態實現檔案系統必然會引入額外的內核態/用戶態切換帶來的開銷,對效能會產生一定影響。
目前Linux,FreeBSD,NetBSD,OpenSolaris和Mac OSX支援用戶空間態檔案系統。
比較知名的用戶空間檔案系統
- ExpanDrive:商業檔案系統,實現了SFTP/FTP/FTPS協定;
- GlusterFS:用於叢集的分散式檔案系統,可以擴充到PB級;
- SSHFS:通過SSH協定訪問遠端檔案系統;
- GmailFS:通過檔案系統方式訪問GMail;
- EncFS:加密的虛擬檔案系統
- NTFS-3G和Captive NTFS,在非Windows中對NTFS檔案系統提供支援;
- WikipediaFS:支援通過檔案系統介面訪問Wikipedia上的文章;
- 昇陽公司的Lustre:和GlusterFS類似但更早的一個叢集檔案系統
- ZFS:Luster的Linux版;
- archivemount:
- HDFS: Hadoop提供的分散式檔案系統。HDFS可以通過一系列命令訪問,並不一定經過Linux FUSE;
外部連結
- (英文)FUSE Home Page
- (英文)Develop your own filesystem with FUSE by Sumit Singh
- (英文)List of FUSE filesystems
- (英文)Fuse for FreeBSD
- (英文)Fuse for Windows