文件系統(tǒng)是操作系統(tǒng)用于明確存儲(chǔ)設(shè)備(常見的是磁盤,也有基于NAND Flash的固態(tài)硬盤)或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在存儲(chǔ)設(shè)備上組織文件的方法。操作系統(tǒng)中負(fù)責(zé)管理和存儲(chǔ)文件信息的軟件機(jī)構(gòu)稱為文件管理系統(tǒng),簡(jiǎn)稱文件系統(tǒng)。文件系統(tǒng)由三部分組成:文件系統(tǒng)的接口,對(duì)對(duì)象操縱和管理的軟件集合,對(duì)象及屬性。從系統(tǒng)角度來看,文件系統(tǒng)是對(duì)文件存儲(chǔ)設(shè)備的空間進(jìn)行組織和分配,負(fù)責(zé)文件存儲(chǔ)并對(duì)存入的文件進(jìn)行保護(hù)和檢索的系統(tǒng)。具體地說,它負(fù)責(zé)為用戶建立文件,存入、讀出、修改、轉(zhuǎn)儲(chǔ)文件,控制文件的存取,當(dāng)用戶不再使用時(shí)撤銷文件等。
簡(jiǎn)介
在計(jì)算機(jī)中,文件系統(tǒng)(File system)是命名文件及放置文件的邏輯存儲(chǔ)和恢復(fù)的系統(tǒng)。DOS、Windows、OS/2、麥金塔和UNIX-based操作系統(tǒng)都有文件系統(tǒng),在此系統(tǒng)中文件被放置在分等級(jí)的(樹狀)結(jié)構(gòu)中的某一處。文件被放置進(jìn)目錄(Windows中的文件夾)或子目錄,在樹狀結(jié)構(gòu)中你希望的位置中。
文件系統(tǒng)指定命名文件的規(guī)則。這些規(guī)則包括文件名的字符數(shù)最大量,哪種字符可以使用,以及某些系統(tǒng)中文件名后綴可以有多長。文件系統(tǒng)還包括通過目錄結(jié)構(gòu)找到文件的指定路徑的格式。
文件系統(tǒng)是軟件系統(tǒng)的一部分,它的存在使得應(yīng)用可以方便的使用抽象命名的數(shù)據(jù)對(duì)象和大小可變的空間。
功能
文件的系統(tǒng)是操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在磁盤上組織文件的方法。也指用于存儲(chǔ)文件的磁盤或分區(qū),或文件系統(tǒng)種類。因此,可以說"我有2個(gè)文件系統(tǒng)"意思是他有2個(gè)分區(qū),一個(gè)存文件,或他用 "擴(kuò)展文件系統(tǒng)",意思是文件系統(tǒng)的種類。
磁盤或分區(qū)和它所包括的文件系統(tǒng)的不同是很重要的。少數(shù)程序(包括最有理由的產(chǎn)生文件系統(tǒng)的程序)直接對(duì)磁盤或分區(qū)的原始扇區(qū)進(jìn)行操作;這可能破壞一個(gè)存在的文件系統(tǒng)。大部分程序基于文件系統(tǒng)進(jìn)行操作,在不同種文件系統(tǒng)上不能工作。
一個(gè)分區(qū)或磁盤在作為文件系統(tǒng)使用前,需要初始化,并將記錄數(shù)據(jù)結(jié)構(gòu)寫到磁盤上。這個(gè)過程就叫建立文件系統(tǒng)。
大部分unix文件系統(tǒng)種類具有類似的通用結(jié)構(gòu),即使細(xì)節(jié)有些變化。其中心概念是超級(jí)塊superblock,i節(jié)點(diǎn)inode,數(shù)據(jù)塊data block,目錄塊directory block,和間接塊indirection block。超級(jí)塊包括文件系統(tǒng)的總體信息,比如大小(其準(zhǔn)確信息依賴文件系統(tǒng))。i節(jié)點(diǎn)包括除了名字外的一個(gè)文件的所有信息,名字與i節(jié)點(diǎn)數(shù)目一起存在目錄中,目錄條目包括文件名和文件的i節(jié)點(diǎn)數(shù)目。i節(jié)點(diǎn)包括幾個(gè)數(shù)據(jù)塊的數(shù)目,用于存儲(chǔ)文件的數(shù)據(jù)。i節(jié)點(diǎn)中只有少量數(shù)據(jù)塊數(shù)的空間,如果需要更多,會(huì)動(dòng)態(tài)分配指向數(shù)據(jù)塊的指針空間。這些動(dòng)態(tài)分配的塊是間接塊;為了找到數(shù)據(jù)塊,這名字指出它必須先找到間接塊的號(hào)碼。
unix文件系統(tǒng)通常允許在文件中產(chǎn)生孔,意思是文件系統(tǒng)假裝文件中有一個(gè)特殊的位置只有0字節(jié),但沒有為這文件的這個(gè)位置保留實(shí)際的磁盤空間。這對(duì)小的二進(jìn)制文件經(jīng)常發(fā)生,Linux共享庫、一些數(shù)據(jù)庫和其他一些特殊情況。
孔有一定的用處。在筆者的系統(tǒng)中,一個(gè)簡(jiǎn)單的測(cè)量工具顯示在200MB使用的磁盤空間中,由于孔,節(jié)約了大約4MB。在這個(gè)系統(tǒng)中,程序相對(duì)較少,沒有數(shù)據(jù)庫文件。
文件系統(tǒng)的功能包括:管理和調(diào)度文件的存儲(chǔ)空間,提供文件的邏輯結(jié)構(gòu)、物理結(jié)構(gòu)和存儲(chǔ)方法;實(shí)現(xiàn)文件從標(biāo)識(shí)到實(shí)際地址的映射,實(shí)現(xiàn)文件的控制操作和存取操作,實(shí)現(xiàn)文件信息的共享并提供可靠的文件保密和保護(hù)措施,提供文件的安全措施。
文件的邏輯結(jié)構(gòu)是依照文件的內(nèi)容的邏輯關(guān)系組織文件結(jié)構(gòu)。文件的邏輯結(jié)構(gòu)可以分為流式文件和記錄式文件。
流式文件:文件中的數(shù)據(jù)是一串字符流,沒有結(jié)構(gòu)。
記錄文件:由若干邏輯記錄組成,每條記錄又由相同的數(shù)據(jù)項(xiàng)組成,數(shù)據(jù)項(xiàng)的長度可以是確定的,也可以是不確定的。
主要缺陷:數(shù)據(jù)關(guān)聯(lián)差,數(shù)據(jù)不一致,冗余性。
代碼
下面是文件系統(tǒng)的代碼,根據(jù)這個(gè)代碼我們可以更好地了解文件系統(tǒng)的工作流程
#include"blockinodesuperblock.h"http://-----------------------intmain(){control.open("control.txt",ios::in|ios::out|ios::nocreate);inti;control>>i;control.close();if(i!=0)//不為0就初始化{initial();}control.open("control.txt",ios::in|ios::out|ios::nocreate);control.seekp(0);control<<0;//默認(rèn)是上次基礎(chǔ)上繼續(xù)下去不用再初始化control.close();strcpy(curname,"root");//當(dāng)前目錄文件名為rootroad=0;//當(dāng)前目錄路徑(存放從根目錄到這里的結(jié)點(diǎn)號(hào))num=1;//最后位road[num-1]為當(dāng)前目錄文件i結(jié)點(diǎn)號(hào)cout<<"請(qǐng)登陸系統(tǒng)\n";while(!login())//登陸為止cout<<"wrong!!!\n";cout<<"loginsuccess"< blockinodesuperblock.h intialloc()//申請(qǐng)一個(gè)i結(jié)點(diǎn)返回結(jié)點(diǎn)號(hào)否則返回-1{if(superblock.fiptr>0){inttemp=superblock.fistack[80-superblock.fiptr];//當(dāng)前可用superblock.fistack[80-superblock.fiptr]=-1;superblock.fiptr--;returntemp;}return-1;}//----------------------voidifree(intindex)//指定一個(gè)結(jié)點(diǎn)號(hào),回收一個(gè)i結(jié)點(diǎn){disk.open("disk.txt",ios::in|ios::out|ios::nocreate);//清空結(jié)點(diǎn)disk.seekp(514+64*index+2*(index/8));disk< 在Win 9X下,FAT16支持的分區(qū)最大為2GB。我們知道計(jì)算機(jī)將信息保存在硬盤上稱為“簇”的區(qū)域內(nèi)。使用的簇越小,保存信息的效率就越高。在FAT16的情況下,分區(qū)越大簇就相應(yīng)的要大,存儲(chǔ)效率就越低,勢(shì)必造成存儲(chǔ)空間的浪費(fèi)。并且隨著計(jì)算機(jī)硬件和應(yīng)用的不斷提高,F(xiàn)AT16文件系統(tǒng)已不能很好地適應(yīng)系統(tǒng)的要求。在這種情況下,推出了增強(qiáng)的文件系統(tǒng)FAT32。同F(xiàn)AT16相比,F(xiàn)AT32主要具有以下特點(diǎn): 基于FAT32的Win 2000可以支持分區(qū)最大為32GB;而基于 FAT16的Win 2000支持的分區(qū)最大為4GB。 NTFS文件系統(tǒng)是一個(gè)基于安全性的文件系統(tǒng),是Windows NT所采用的獨(dú)特的文件系統(tǒng)結(jié)構(gòu),它是建立在保護(hù)文件和目錄數(shù)據(jù)基礎(chǔ)上,同時(shí)照顧節(jié)省存儲(chǔ)資源、減少磁盤占用量的一種先進(jìn)的文件系統(tǒng)。使用非常廣泛的Windows NT 4.0采用的就是NTFS 4.0文件系統(tǒng),相信它所帶來的強(qiáng)大的系統(tǒng)安全性一定給廣大用戶留下了深刻的印象。Win 2000采用了更新版本的NTFS文件系統(tǒng)NTFS 5.0,它的推出使得用戶不但可以像Win 9X那樣方便快捷地操作和管理計(jì)算機(jī),同時(shí)也可享受到NTFS所帶來的系統(tǒng)安全性。 NTFS 5.0的特點(diǎn)主要體現(xiàn)在以下幾個(gè)方面: CDFS是大部分的光盤的文件系統(tǒng),只有小部分光盤使用其他文件系統(tǒng)。這些文件系統(tǒng)只能在CD-R或CD-RW上讀取。 (全稱Extended File Allocation Table File System,擴(kuò)展FAT,即擴(kuò)展文件分配表)是微軟在Windows Embeded 5.0以上(包括Windows CE 5.0、6.0、Windows Mobile5、6、6.1)中引入的一種適合于閃存的文件系統(tǒng),為了解決FAT32等不支持4G及其更大的文件而推出。對(duì)于閃存,NTFS文件系統(tǒng)不適合使用,exFAT更為適用。相對(duì)FatFS,exFAT有如下好處: 1·增強(qiáng)了臺(tái)式電腦與移動(dòng)設(shè)備的互操作能力 2·單文件大小最大可達(dá)16EB(就是理論值,16×1024×1024TB,1TB=1024G) 3·簇大小可高達(dá)32MB 4·采用了剩余空間分配表,剩余空間分配性能改進(jìn) 5·同一目錄下最大文件數(shù)可達(dá)65 536個(gè) 6·支持訪問控制 7·支持TFAT 采用該文件系統(tǒng)的閃存盤不支持Windows Vista ReadyBoost。Windows Vista SP1支持該文件系統(tǒng)。 請(qǐng)注意:exFAT只是一個(gè)折中的方案,只為U盤而生。 超過4GB的U盤格式化時(shí)默認(rèn)是NTFS分區(qū),但是這種格式是很傷U盤的,因?yàn)镹TFS分區(qū)是采用“日志式”的文件系統(tǒng),需要記錄詳細(xì)的讀寫操作,肯定會(huì)比較傷閃盤芯片,因?yàn)橐粩嘧x寫。 下面請(qǐng)看exFAT、NTFS、FAT分區(qū)的比較: RAW文件系統(tǒng)是一種磁盤未經(jīng)處理或者未經(jīng)格式化產(chǎn)生的文件系統(tǒng),一般來說有這幾種可能造成正常文件系統(tǒng)變成RAW文件系統(tǒng): ●沒有格式化。 ●格式化中途取消操作。 ●硬盤出現(xiàn)壞道。 ●硬盤出現(xiàn)不可預(yù)知的錯(cuò)誤。 ●病毒所致。 解決RAW文件系統(tǒng)的最快的方法是立即格式化,并且使用殺毒軟件全盤殺毒。當(dāng)然,如果文件很重要的話可以考慮用磁盤數(shù)據(jù)恢復(fù)軟件先救出數(shù)據(jù),然后再格式化和殺毒,或者在網(wǎng)上查找一些有關(guān)于“raw文件系統(tǒng)恢復(fù)”的內(nèi)容。 Ext是 GNU/Linux 系統(tǒng)中標(biāo)準(zhǔn)的文件系統(tǒng),其特點(diǎn)為存取文件的性能極好,對(duì)于中小型的文件更顯示出優(yōu)勢(shì),這主要得利于其簇快取層的優(yōu)良設(shè)計(jì)。 其單一文件大小與文件系統(tǒng)本身的容量上限與文件系統(tǒng)本身的簇大小有關(guān),在一般常見的 x86電腦系統(tǒng)中,簇最大為 4KB,則單一文件大小上限為 2048GB,而文件系統(tǒng)的容量上限為 16384GB。 但由于目前核心 2.4 所能使用的單一分割區(qū)最大只有 2048GB,實(shí)際上能使用的文件系統(tǒng)容量最多也只有 2048GB。 至于Ext3文件系統(tǒng),它屬于一種日志文件系統(tǒng),是對(duì)Ext2系統(tǒng)的擴(kuò)展。它兼容ext2,并且從ext2轉(zhuǎn)換成ext3并不復(fù)雜。 Ext3是一種日志式文件系統(tǒng),是對(duì)ext2系統(tǒng)的擴(kuò)展,它兼容ext2。日志式文件系統(tǒng)的優(yōu)越性在于:由于文件系統(tǒng)都有快取層參與運(yùn)作,如不使用時(shí)必須將文件系統(tǒng)卸下,以便將快取層的資料寫回磁盤中。因此每當(dāng)系統(tǒng)要關(guān)機(jī)時(shí),必須將其所有的文件系統(tǒng)全部shutdown后才能進(jìn)行關(guān)機(jī)。 如果在文件系統(tǒng)尚未shutdown前就關(guān)機(jī)(如停電)時(shí),下次重開機(jī)后會(huì)造成文件系統(tǒng)的資料不一致,故這時(shí)必須做文件系統(tǒng)的重整工作,將不一致與錯(cuò)誤的地方修復(fù)。然而,此一重整的工作是相當(dāng)耗時(shí)的,特別是容量大的文件系統(tǒng),而且也不能百分之百保證所有的資料都不會(huì)流失。 為了克服此問題,使用所謂‘日志式文件系統(tǒng)(Journal File System) ’。此類文件系統(tǒng)最大的特色是,它會(huì)將整個(gè)磁盤的寫入動(dòng)作完整記錄在磁盤的某個(gè)區(qū)域上,以便有需要時(shí)可以回溯追蹤。 由于資料的寫入動(dòng)作包含許多的細(xì)節(jié),像是改變文件標(biāo)頭資料、搜尋磁盤可寫入空間、一個(gè)個(gè)寫入資料區(qū)段等等,每一個(gè)細(xì)節(jié)進(jìn)行到一半若被中斷,就會(huì)造成文件系統(tǒng)的不一致,因而需要重整。 然而,在日志式文件系統(tǒng)中,由于詳細(xì)紀(jì)錄了每個(gè)細(xì)節(jié),故當(dāng)在某個(gè)過程中被中斷時(shí),系統(tǒng)可以根據(jù)這些記錄直接回溯并重整被中斷的部分,而不必花時(shí)間去檢查其他的部分,故重整的工作速度相當(dāng)快,幾乎不需要花時(shí)間。 Linux kernel 自 2.6.28 開始正式支持新的文件系統(tǒng) ext4。Ext4 是 Ext3 的改進(jìn)版,修改了 Ext3 中部分重要的數(shù)據(jù)結(jié)構(gòu),而不僅僅像 Ext3 對(duì) Ext2 那樣,只是增加了一個(gè)日志功能而已。Ext4 可以提供更佳的性能和可靠性,還有更為豐富的功能: Btrfs(通常念成Butter FS),是由Oracle數(shù)據(jù)庫于2007年宣布并進(jìn)行中的copy-on-write文件系統(tǒng)。目標(biāo)是取代Linux目前的Ext3文件系統(tǒng),改善ext3的限制,特別是單個(gè)文件的大小,總文件系統(tǒng)大小或文件檢查和加入目前ext3未支持的功能,像是 writable snapshots、snapshots of snapshots、內(nèi)建磁盤陣列(RAID)支持,以及 subvolumes。Btrfs 也宣稱專注在“容錯(cuò)、修復(fù)及易于管理”。 ZFS源自于Sun Microsystems為Solaris操作系統(tǒng)開發(fā)的文件系統(tǒng)。ZFS是一個(gè)具有高存儲(chǔ)容量、文件系統(tǒng)與卷管理概念整合、嶄新的磁盤邏輯結(jié)構(gòu)的輕量級(jí)文件系統(tǒng),同時(shí)也是一個(gè)便捷的存儲(chǔ)池管理系統(tǒng)。ZFS是一個(gè)使用CDDL協(xié)議條款授權(quán)的開源項(xiàng)目。 分層文件系統(tǒng)(Hierarchical File System,HFS)是一種由麥金塔開發(fā),并使用在Mac OS上的文件系統(tǒng)。最初被設(shè)計(jì)用于軟盤和硬盤,同時(shí)也可以在在只讀媒體如CD-ROM上見到。 HFS首次出現(xiàn)在1985年9月17日,作為Macintosh電腦上新的文件系統(tǒng)。它取代只用于早期Mac型號(hào)所使用的平面文件系統(tǒng)Macintosh File System(MFS)。因?yàn)镸acintosh電腦所產(chǎn)生的數(shù)據(jù),比其它通常的文件系統(tǒng),如DOS使用的FAT或原始Unix文件系統(tǒng)所允許存儲(chǔ)的數(shù)據(jù)更多。麥金塔開發(fā)了一種新式更適用的文件系統(tǒng),而不是采用現(xiàn)有的規(guī)格。例如,HFS允許文件名最多有31個(gè)字符的長度,支持metadata和雙分支(每個(gè)文件的數(shù)據(jù)和資源支分開存儲(chǔ))文件。 盡管HFS象其它大多數(shù)文件系統(tǒng)一樣被視為專有的格式,因?yàn)橹挥兴鼮榇蠖鄶?shù)最新的操作系統(tǒng)提供了很好的通用解決方法以存取HFS格式磁盤。 分層文件系統(tǒng)把一個(gè)卷分為許多512字節(jié)的“邏輯塊”。這些邏輯塊被編組為“分配塊”,這些分配塊可以根據(jù)卷的尺寸包含一個(gè)或多個(gè)邏輯塊。HFS對(duì)地址分配塊使用16位數(shù)值,分配塊的最高限制數(shù)量是65536。 組成一個(gè)HFS卷需要下面的五個(gè)結(jié)構(gòu): 在1998年,麥金塔發(fā)布了HFS+,其改善了HFS對(duì)磁盤空間的地址定位效率低下,并加入了其它的改進(jìn)。 HFS+文件系統(tǒng)相對(duì)于HFS文件系統(tǒng)的特點(diǎn) 1、采用32bit 記錄分配塊數(shù)量 HFS 和HFS+文件系統(tǒng)對(duì)磁盤卷采用分塊進(jìn)行分配,將一個(gè)卷分成等大的分配塊。HFS文件系統(tǒng)采用16bit 來記錄分配塊的數(shù)量,最多只能描述216個(gè)分配塊。而對(duì)于HFS+文件系統(tǒng),采用32bit 來記錄分配塊的數(shù)量,最多能描述232 個(gè)分配塊。對(duì)于Mac 系統(tǒng)上的非空數(shù)據(jù),都必須占用整數(shù)個(gè)分配塊,也就是說,即使一個(gè)數(shù)據(jù)只有一個(gè)字節(jié),也要占用一個(gè)分配塊。而HFS+文件系統(tǒng)增大了每個(gè)卷分配塊的數(shù)量,可以使分配塊的單位空間更小,從而達(dá)到減少存儲(chǔ)空間浪費(fèi)的目的。 2、目錄樹節(jié)點(diǎn)大小增加到4KB HFS 文件系統(tǒng)的目錄樹節(jié)點(diǎn)大小為512 字節(jié),由于HFS+文件系統(tǒng)目錄樹索引節(jié)點(diǎn)需要存儲(chǔ)附加指針和節(jié)點(diǎn)描述符兩個(gè)關(guān)鍵值,HFS+文件系統(tǒng)的目錄樹節(jié)點(diǎn)大小增加到4KB。 3、單一文件大小得到提升 HFS 文件系統(tǒng)的單一文件大小上限為2^31bit,而HFS+文件系統(tǒng)的單一文件大小最大可達(dá)到2^63bit。 4、支持長文件名 HFS 文件系統(tǒng)對(duì)文件名最長支持到31個(gè)字符,而HFS+文件系統(tǒng)對(duì)文件名采用Unicode編碼,最長達(dá)到255個(gè)字符。 reiserfs,是一種文件系統(tǒng)格式,作者是Hans Reiser及其團(tuán)隊(duì)Namesys,1997年7月23日他將ReiserFS文件系統(tǒng)在互聯(lián)網(wǎng)上公布。Linux內(nèi)核從2.4.1版本開始支持ReiserFS。 ReiserFS 的命名是源自作者Hans Reiser的姓氏,這個(gè)日志型文件系統(tǒng)發(fā)展比ext2/3 晚近許多。在技術(shù)上使用的是 B*-tree 為基礎(chǔ)的文件系統(tǒng),其特色為能很有效率地處理大型文件到眾多小文件都可以用很高的效率處理;實(shí)務(wù)上 reiserfs 在處理文件小于 1k 小文件時(shí),甚至效率可以比ext3快約10倍。 ReiserFS原先是Novell公司的SuSE Linux Enterprise采用的缺省文件系統(tǒng),直到2006年10月12日其宣稱將在未來的版本改采ext3為缺省。Novell公司否認(rèn)這與Hans Reiser被控于英生殺妻案有任何關(guān)系。 jfs( JOURNAL FILE SYSTEM),一種字節(jié)級(jí)日志文件系統(tǒng),借鑒了數(shù)據(jù)庫保護(hù)系統(tǒng)的技術(shù),以日志的形式記錄文件的變化。JFS通過記錄文件結(jié)構(gòu)而不是數(shù)據(jù)本身的變化來保證數(shù)據(jù)的完整性。這種方式可以確保在任何時(shí)刻都能維護(hù)數(shù)據(jù)的可訪問性。 該文件系統(tǒng)主要是為滿足服務(wù)器(從單處理器系統(tǒng)到高級(jí)多處理器和群集系統(tǒng))的高吞吐量和可靠性需求而設(shè)計(jì)、開發(fā)的。JFS文件系統(tǒng)是為面向事務(wù)的高性能系統(tǒng)而開發(fā)的。在IBM的IBM AIX系統(tǒng)上,jfs已經(jīng)過較長時(shí)間的測(cè)試,結(jié)果表明它是可靠、快速和容易使用的。2000年2月,IBM宣布在一個(gè)開放資源許可證下移植Linux版本的JFS文件系統(tǒng)。JFS也是一個(gè)有大量用戶安裝使用的企業(yè)級(jí)文件系統(tǒng),具有可伸縮性和健壯性。與非日志文件系統(tǒng)相比,它的突出優(yōu)點(diǎn)是快速重啟能力,JFS能夠在幾秒或幾分鐘內(nèi)就把文件系統(tǒng)恢復(fù)到一致狀態(tài)。雖然JFS主要是為滿足服務(wù)器(從單處理器系統(tǒng)到高級(jí)多處理器和群集系統(tǒng))的高吞吐量和可靠性需求而設(shè)計(jì)的,但還可以用于想得到高性能和可靠性的客戶機(jī)配置,因?yàn)樵谙到y(tǒng)崩潰時(shí)JFS能提供快速文件系統(tǒng)重啟時(shí)間,所以它是因特網(wǎng)文件服務(wù)器的關(guān)鍵技術(shù)。使用數(shù)據(jù)庫日志處理技術(shù),jfs能在幾秒或幾分鐘之內(nèi)把文件系統(tǒng)恢復(fù)到一致狀態(tài)。而在非日志文件系統(tǒng)中,文件恢復(fù)可能花費(fèi)幾小時(shí)或幾天。 JFS的缺點(diǎn)是,使用JFS日志文件系統(tǒng)性能上會(huì)有一定損失,系統(tǒng)資源占用的比率也偏高,因?yàn)楫?dāng)它保存一個(gè)日志時(shí),系統(tǒng)需要寫許多數(shù)據(jù)。 威睿 Virtual Machine File System (VMFS )是一種高性能的群集文件系統(tǒng),它使虛擬化技術(shù)的應(yīng)用超出了單個(gè)系統(tǒng)的限制。VMFS的設(shè)計(jì)、構(gòu)建和優(yōu)化針對(duì)虛擬服務(wù)器環(huán)境,可讓多個(gè)虛擬機(jī)共同訪問一個(gè)整合的群集式存儲(chǔ)池,從而顯著提高了資源利用率。VMFS 是跨越多個(gè)服務(wù)器實(shí)現(xiàn)虛擬化的基礎(chǔ),它可啟用VMware VmotionTM 、Distributed Resource Scheduler 和 VMware High Availability 等各種服務(wù)。VMFS 還能顯著減少管理開銷,它提供了一種高效的虛擬化管理層,特別適合大型企業(yè)數(shù)據(jù)中心。采用 VMFS 可實(shí)現(xiàn)資源共享,使管理員輕松地從更高效率和存儲(chǔ)利用率中直接獲益。 XFS 是 Silicon Graphics,Inc. 于 90 年代初開發(fā)的文件系統(tǒng)。它至今仍作為 SGI 基于 IRIX 的產(chǎn)品(從工作站到超級(jí)計(jì)算機(jī))的底層文件系統(tǒng)來使用。現(xiàn)在,xfs 也可以用于 Linux。XFS 的 Linux 版的到來是激動(dòng)人心的,首先因?yàn)樗鼮?Linux 社區(qū)提供了一種健壯的、優(yōu)秀的以及功能豐富的文件系統(tǒng),并且這種文件系統(tǒng)所具有的可伸縮性能夠滿足最苛刻的存儲(chǔ)需求。 Ufs Explorer文件系統(tǒng):基于BSD高速文件系統(tǒng)的傳統(tǒng)UNIX文件系統(tǒng),是Solaris的默認(rèn)文件系統(tǒng)。默認(rèn)啟用UFS 日志記錄功能。在早期的Solaris 版本中,UFS 日志記錄功能只能手動(dòng)啟用。Solaris 10在運(yùn)行64位Solaris內(nèi)核的系統(tǒng)上支持多TB UFS文件系統(tǒng)。以前,UFS文件系統(tǒng)在64位系統(tǒng)和32位系統(tǒng)上的大小僅限于約1 TB(Tbyte)。現(xiàn)在,所有UFS文件系統(tǒng)命令和公用程序已更新為支持多TB UFS文件系統(tǒng)。 UFS1文件系統(tǒng)是OpenBSD和Solaris的默認(rèn)文件系統(tǒng)。UFS1也曾是netbsd和FreeBSD的默認(rèn)文件系統(tǒng),但NetBSD2.0和FreeBSD5.0以后版本開始使用UFS2做默認(rèn)的文件系統(tǒng)。UFS2增加了對(duì)大文件和大容量磁盤的支持和一些先進(jìn)的特性。目前似乎還只有FreeBSD和NetBSD支持UFS2。Apple OS X和Linux也支持UFS1,但并不做為它們的默認(rèn)文件系統(tǒng)。 VeritasFileSystem(VxFS)是首個(gè)商業(yè)日志記錄文件系統(tǒng)。通過日志記錄功能,元數(shù)據(jù)更改首先寫入到日志,然后再寫入到磁盤。由于無需在多處寫入更改,且元數(shù)據(jù)是異步寫入的,因此吞吐量的速度較快。VxFS也是基于擴(kuò)展區(qū)的意向日志記錄文件系統(tǒng)。VxFS設(shè)計(jì)用于要求高性能和高可用性,并且可以處理大量數(shù)據(jù)的操作環(huán)境。 ReFS(Resilient File System,彈性文件系統(tǒng))是在Windows 8.1和Server? 2012中新引入的一個(gè)文件系統(tǒng)。ReFS是與NTFS大部分兼容的,其主要目的 是為了保持較高的穩(wěn)定性,可以自動(dòng)驗(yàn)證數(shù)據(jù)是否損壞,并盡力恢復(fù)數(shù)據(jù)。 ReFS 的關(guān)鍵功能如下: ·帶有校驗(yàn)和的元數(shù)據(jù)完整性 ·提供可選用戶數(shù)據(jù)完整性的完整性流。 ·通過寫入時(shí)分配事務(wù)模型實(shí)現(xiàn)可靠的磁盤更新(也稱為寫入時(shí)復(fù)制) ·支持超大規(guī)模的卷、文件和目錄 ·存儲(chǔ)池和虛擬化使得文件系統(tǒng)可建立并易于管理 ·通過數(shù)據(jù)條帶化提高性能(帶寬可管理)并通過備份提高容錯(cuò)性 ·通過磁盤掃描防止?jié)撛诘拇疟P錯(cuò)誤 ·借助“數(shù)據(jù)打撈”實(shí)現(xiàn)損壞還原,以便在任何情況下盡可能提高卷的可用性 ·跨計(jì)算機(jī)共享存儲(chǔ)池,以提供額外的容錯(cuò)性和負(fù)載平衡 WBFS文件系統(tǒng)全稱為Wii Backup File System,是在進(jìn)行任天堂家用機(jī)wii運(yùn)行備份游戲的研究中產(chǎn)生的游戲備份模式。由黑客發(fā)明,在windows系統(tǒng)下不能識(shí)別,早期利用Linux運(yùn)作。主要為了改善USB存儲(chǔ)設(shè)備的運(yùn)行效率。 PFS全稱playstation File System,顧名思義就是索尼為其家用機(jī)PS2專用硬盤開發(fā)的文件系統(tǒng),電腦上只有PFS Explorer和Winhiip可以讀取,其余資料不明。 參考資料 >FAT
NTFS
CDFS
exFAT
RAW
Ext
Ext2
Ext3
Ext4
Btrfs
ZFS
HFS
HFS文件系統(tǒng)概念
HFS文件系統(tǒng)開發(fā)過程
構(gòu)成方式
HFS+
ReiserFS
JFS
VMFS
XFS
UFS
VXFS
ReFS
WBFS
PFS