超能課堂(281):常見(jiàn)文件系統(tǒng)格式介紹
在現(xiàn)代計(jì)算機(jī)中,文件系統(tǒng)(file system)是命名文件及放置文件的邏輯存儲(chǔ)和恢復(fù)的系統(tǒng),是操作系統(tǒng)用于明確存儲(chǔ)設(shè)備或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu),也就是在存儲(chǔ)設(shè)備上組織文件的方法,管理和存儲(chǔ)文件的軟件機(jī)構(gòu)。我們?nèi)粘R?jiàn)到的Windows、macOS、Linux甚至UNIX等操作系統(tǒng),都有文件系統(tǒng)。不同的操作系統(tǒng)間,可以使用的文件系統(tǒng)格式也不一樣。在日常生活里,可能會(huì)遇到在Windows里插入U(xiǎn)盤(pán)或移動(dòng)硬盤(pán)可以隨意讀取和寫(xiě)入,但到了Mac上卻發(fā)現(xiàn)不能把資料放進(jìn)去。
文件系統(tǒng)格式有很多,其結(jié)構(gòu)、邏輯、存取速度、體積大小、安全性和穩(wěn)定性等都不一樣,同時(shí)面向的存儲(chǔ)介質(zhì)也有不同。這個(gè)問(wèn)題如果細(xì)究起來(lái)會(huì)非常復(fù)雜,涉及到很多計(jì)算機(jī)軟件方面的專(zhuān)業(yè)知識(shí)。接下來(lái)會(huì)介紹幾種不同系統(tǒng)下的常見(jiàn)文件系統(tǒng)格式,包括了普通用戶(hù)最常用的Windows系統(tǒng),還有部分用戶(hù)會(huì)使用的macOS系統(tǒng),以及個(gè)別用戶(hù)會(huì)接觸到的Linux系統(tǒng),讓大家有個(gè)大致的了解。
Windows
FAT
FAT全稱(chēng)是File Allocation Table,即文件配置表,是在1977年為了管理磁盤(pán)而發(fā)明的。比爾蓋茨是其中一位發(fā)明人,微軟擁有部分專(zhuān)利。經(jīng)過(guò)多次適配逐漸使用在硬盤(pán)上,也被后來(lái)的MS-DOS以及Windows 9x操作系統(tǒng)所使用,是當(dāng)時(shí)的文件系統(tǒng)格式,使用了相當(dāng)長(zhǎng)的一段時(shí)間。
不過(guò)FAT有一個(gè)比較明顯的缺點(diǎn),當(dāng)文件刪除后寫(xiě)入新數(shù)據(jù),不會(huì)將文件整理成完整片段再寫(xiě)入,用戶(hù)長(zhǎng)期使用后會(huì)使文件數(shù)據(jù)變得分散,最終會(huì)減慢讀寫(xiě)速度。在過(guò)去Windows 9x操作系統(tǒng)時(shí)期,不少用戶(hù)每隔一段時(shí)間就會(huì)使用系統(tǒng)里的工具進(jìn)行碎片整理,以保證FAT文件系統(tǒng)的效率。后來(lái)隨著硬盤(pán)容量的增大,硬盤(pán)進(jìn)行碎片整理的時(shí)間會(huì)越來(lái)越長(zhǎng),F(xiàn)AT磁盤(pán)效率低的缺點(diǎn)更加明顯,已經(jīng)變得有點(diǎn)不適應(yīng)發(fā)展需要了。
FAT使用廣泛,幾乎被所有操作系統(tǒng)支持。雖然早已不是Windows操作系統(tǒng)的主流文件系統(tǒng)格式了,但仍廣泛存在于軟盤(pán)、U盤(pán)和嵌入式設(shè)備上,適用于不同操作系統(tǒng)之間交換數(shù)據(jù)。在日常使用中,用戶(hù)最容易接觸到的是FAT32,常見(jiàn)于U盤(pán),不過(guò)會(huì)有單個(gè)文件體積4GB的限制,隨著數(shù)據(jù)量的增大,往后使用率會(huì)慢慢降低。
NTFS
NTFS全稱(chēng)是New Technology File System,最早出現(xiàn)于1993年,使用Windows NT內(nèi)核的操作系統(tǒng)開(kāi)始提供支持。從Windows 2000開(kāi)始,包括后來(lái)的Windows XP直到現(xiàn)在我們使用的Windows 10,默認(rèn)文件系統(tǒng)都是NTFS。
從Windows 9x時(shí)代過(guò)來(lái)的用戶(hù)都會(huì)記得,當(dāng)年Windows系統(tǒng)崩潰是常有的事情,對(duì)于喜歡折騰的用戶(hù)來(lái)說(shuō),重裝系統(tǒng)是家常便飯了。到了Windows XP時(shí)期,除了界面的巨大變化,在使用上最讓人印象深刻的莫過(guò)于穩(wěn)定性,重裝系統(tǒng)的機(jī)率大幅度減少。NTFS文件系統(tǒng)具有錯(cuò)誤預(yù)警功能、磁盤(pán)自我修復(fù)功能和日志功能三個(gè)功能,相比原來(lái)的FAT文件系統(tǒng),NTFS文件系統(tǒng)在安全性、易用性和穩(wěn)定性上都有了質(zhì)的飛躍。
NTFS系統(tǒng)是一個(gè)日志文件系統(tǒng),是為網(wǎng)絡(luò)和磁盤(pán)配額、文件加密等管理安全特性設(shè)計(jì)的磁盤(pán)格式,提供長(zhǎng)文件名、數(shù)據(jù)保護(hù)和恢復(fù),能通過(guò)目錄和文件許可實(shí)現(xiàn)安全性,并支持跨越分區(qū)。在NTFS系統(tǒng)中,除了寫(xiě)入信息,還會(huì)對(duì)操作進(jìn)行記錄,當(dāng)NTFS文件系統(tǒng)在發(fā)生錯(cuò)誤的時(shí)候,利用日志功能可以修復(fù)數(shù)據(jù),使得系統(tǒng)恢復(fù)變得更加容易。
在日常使用中,個(gè)別使用Mac的用戶(hù)可能會(huì)遇到不能正常使用NTFS文件系統(tǒng)格式U盤(pán)的情況。這是因?yàn)樵趍acOS系統(tǒng)里,默認(rèn)對(duì)NTFS文件系統(tǒng)格式的U盤(pán)只能讀取,不能寫(xiě)入、刪除或修改,需要額外的工具才可以。
exFAT
exFAT全稱(chēng)是Extended File Allocation Table File System,意思是擴(kuò)展FAT,即擴(kuò)展文件分配表。這是微軟專(zhuān)門(mén)為閃存設(shè)備設(shè)計(jì)的文件系統(tǒng),在Windows Embeded 5.0開(kāi)始提供支持,一方面可以解決NTFS不太適用于閃存的問(wèn)題(不斷讀寫(xiě)可能會(huì)影響使用壽命),另一方面是為了解決FAT32單個(gè)文件體積4GB限制等問(wèn)題。
如果用戶(hù)使用Windows 8及更高版本的操作系統(tǒng),可原生支持exFAT啟動(dòng),同時(shí)支持以特殊方式安裝在exFAT分區(qū)中。由于exFAT文件系統(tǒng)在Windows,Linux以及macOS上都能進(jìn)行讀寫(xiě)操作,而且支持大文件,這些特性讓exFAT使用在U盤(pán)上就非常適合了。雖然exFAT兼容性比起FAT32會(huì)差一些,但長(zhǎng)遠(yuǎn)來(lái)說(shuō)使用率會(huì)越來(lái)越高。
macOS
HFS/HFS+
HFS全稱(chēng)是Hierarchical File System,即分層文件系統(tǒng),也稱(chēng)Mac OS 標(biāo)準(zhǔn)格式。這是由蘋(píng)果開(kāi)發(fā)可用于軟盤(pán)、磁盤(pán)和光盤(pán)的文件系統(tǒng)格式,首次出現(xiàn)在1985年。HFS用于取代更為老舊的MFS(Macintosh File System),即Macintosh 文件系統(tǒng)。很長(zhǎng)時(shí)間內(nèi),HFS都是Mac專(zhuān)有的主要文件系統(tǒng),也是蘋(píng)果Open Firmware所支持的最基本的文件系統(tǒng)。
HFS+稱(chēng)為Mac OS 擴(kuò)展格式,是蘋(píng)果在1998年發(fā)布(首見(jiàn)于Mac OS 8.1)的Mac專(zhuān)有大容量硬盤(pán)文件系統(tǒng),以改善HFS對(duì)磁盤(pán)空間的地址定位效率低下的問(wèn)題,并加以改進(jìn)。HFS+使用了相當(dāng)長(zhǎng)的時(shí)間,差不多有20年的時(shí)間,一直到macOS 10.12。不過(guò)HFS+是一個(gè)飽受爭(zhēng)議的文件系統(tǒng)格式,Linux之父Linus Benedict Torvalds曾稱(chēng)HFS+是有史以來(lái)最爛的文件系統(tǒng),原話是:
“Quite frankly, HFS+ is probably the worst filesystem ever. Christ what shit it is.”
當(dāng)然,Linus的吐槽能力在業(yè)內(nèi)是很出名的,值得一提的經(jīng)典事件不止一兩次。
APFS
APFS全稱(chēng)Apple File System,即Apple 文件系統(tǒng)。隨著2017年蘋(píng)果推出macOS10.13,APFS取代了 HFS+,成為Mac電腦所使用的默認(rèn)文件系統(tǒng)。新的文件系統(tǒng)具有強(qiáng)加密、空間共享、磁盤(pán)快照、快速目錄大小統(tǒng)計(jì)等特性,以及改進(jìn)的文件系統(tǒng)基礎(chǔ),優(yōu)化了SSD性能。
隨著計(jì)算機(jī)技術(shù)的發(fā)展,CPU多核心、內(nèi)存和硬盤(pán)的容量不斷增大、存儲(chǔ)介質(zhì)從HDD逐漸轉(zhuǎn)向SSD等,硬件的改變需要軟件的配合,而HFS+已不能適應(yīng)新時(shí)代硬件的發(fā)展節(jié)奏了。APFS不但適用于閃存/SSD存儲(chǔ),還可以與HDD和外置直連儲(chǔ)存設(shè)備的低版本系統(tǒng)配合使用。值得一提的是,APFS的開(kāi)發(fā)和設(shè)計(jì)是從2014年開(kāi)始的,而且是從零開(kāi)始構(gòu)建,前后僅用了三年的時(shí)間,可以說(shuō)非常高效。
Linux
Ext2/Ext3
Ext2全稱(chēng)Second Extended Filesystem,是Linux內(nèi)核所使用的文件系統(tǒng),首次出現(xiàn)于1993年,是許多早期Linux發(fā)行版默認(rèn)的文件系統(tǒng)。Ext2可以說(shuō)的Linux系統(tǒng)中使用最多的一種文件系統(tǒng),其存取文件的性能極好,CPU占用率極低,既可以用在磁盤(pán)這樣的標(biāo)準(zhǔn)存儲(chǔ)設(shè)備,也能用在磁盤(pán)等移動(dòng)存儲(chǔ)設(shè)備上。
Ext3全稱(chēng)Third Extended Filesystem,這也是不少Linux發(fā)行版默認(rèn)的文件系統(tǒng),首次出現(xiàn)于1999年。Ext3屬于一種日志文件系統(tǒng),是對(duì)Ext2的擴(kuò)展,并兼容Ext2,兩者共享相同的工具集,而且兩種文件系統(tǒng)之間進(jìn)行轉(zhuǎn)換非常容易。簡(jiǎn)單來(lái)說(shuō),Ext3就是Ext2基礎(chǔ)上加入日志功能,實(shí)現(xiàn)了三個(gè)級(jí)別的日志記錄方式,包括日記(journal))、順序(ordered)和回寫(xiě)(writeback)。
在Ext3文件系統(tǒng)里,會(huì)將整個(gè)磁盤(pán)的寫(xiě)入動(dòng)作完整記錄在磁盤(pán)的某個(gè)區(qū)域上,詳細(xì)記錄每個(gè)細(xì)節(jié),以便有需要的時(shí)候可以回溯追蹤。即使在某個(gè)過(guò)程被中斷,系統(tǒng)可以根據(jù)記錄重整,動(dòng)作會(huì)非常迅速。
Ext4
Ext4全稱(chēng)Fourth Extended Filesystem,是在Ext3基礎(chǔ)上新的高級(jí)功能,首次發(fā)布于2006年。由于改動(dòng)導(dǎo)致Ext3變得不穩(wěn)定,最終從Ext3中剝離并單獨(dú)發(fā)展。經(jīng)過(guò)了一段時(shí)間的不斷改進(jìn),Ext4才變得穩(wěn)定,成為現(xiàn)今大部分Linux發(fā)行版默認(rèn)的文件系統(tǒng)。
在功能上,Ext4和Ext3非常相似,但支持大文件系統(tǒng),提高了對(duì)碎片的抵抗力,有更高的性能以及更好的時(shí)間戳。由于在Ext4開(kāi)發(fā)過(guò)程中仍依賴(lài)于不少舊技術(shù),存在一定的局限性,但在Linux下一代文件系統(tǒng)誕生前還會(huì)不斷改進(jìn),以適應(yīng)現(xiàn)階段硬件的發(fā)展需要。未來(lái)一段時(shí)間內(nèi),Ext4還會(huì)繼續(xù)開(kāi)發(fā)新的功能,包括元數(shù)據(jù)校驗(yàn)和、一流的配額支持和大分配塊。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。