博客專欄

EEPW首頁 > 博客 > 超能課堂(281):常見文件系統(tǒng)格式介紹

超能課堂(281):常見文件系統(tǒng)格式介紹

發(fā)布人:超能網(wǎng) 時(shí)間:2021-07-23 來源:工程師 發(fā)布文章

在現(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姷降腤indows、macOS、Linux甚至UNIX等操作系統(tǒng),都有文件系統(tǒng)。不同的操作系統(tǒng)間,可以使用的文件系統(tǒng)格式也不一樣。在日常生活里,可能會(huì)遇到在Windows里插入U(xiǎn)盤或移動(dòng)硬盤可以隨意讀取和寫入,但到了Mac上卻發(fā)現(xiàn)不能把資料放進(jìn)去。

文件系統(tǒng)格式有很多,其結(jié)構(gòu)、邏輯、存取速度、體積大小、安全性和穩(wěn)定性等都不一樣,同時(shí)面向的存儲(chǔ)介質(zhì)也有不同。這個(gè)問題如果細(xì)究起來會(huì)非常復(fù)雜,涉及到很多計(jì)算機(jī)軟件方面的專業(yè)知識(shí)。接下來會(huì)介紹幾種不同系統(tǒng)下的常見文件系統(tǒng)格式,包括了普通用戶最常用的Windows系統(tǒng),還有部分用戶會(huì)使用的macOS系統(tǒng),以及個(gè)別用戶會(huì)接觸到的Linux系統(tǒng),讓大家有個(gè)大致的了解。

Windows

FAT

FAT全稱是File Allocation Table,即文件配置表,是在1977年為了管理磁盤而發(fā)明的。比爾蓋茨是其中一位發(fā)明人,微軟擁有部分專利。經(jīng)過多次適配逐漸使用在硬盤上,也被后來的MS-DOS以及Windows 9x操作系統(tǒng)所使用,是當(dāng)時(shí)的文件系統(tǒng)格式,使用了相當(dāng)長的一段時(shí)間。

不過FAT有一個(gè)比較明顯的缺點(diǎn),當(dāng)文件刪除后寫入新數(shù)據(jù),不會(huì)將文件整理成完整片段再寫入,用戶長期使用后會(huì)使文件數(shù)據(jù)變得分散,最終會(huì)減慢讀寫速度。在過去Windows 9x操作系統(tǒng)時(shí)期,不少用戶每隔一段時(shí)間就會(huì)使用系統(tǒng)里的工具進(jìn)行碎片整理,以保證FAT文件系統(tǒng)的效率。后來隨著硬盤容量的增大,硬盤進(jìn)行碎片整理的時(shí)間會(huì)越來越長,F(xiàn)AT磁盤效率低的缺點(diǎn)更加明顯,已經(jīng)變得有點(diǎn)不適應(yīng)發(fā)展需要了。

FAT使用廣泛,幾乎被所有操作系統(tǒng)支持。雖然早已不是Windows操作系統(tǒng)的主流文件系統(tǒng)格式了,但仍廣泛存在于軟盤、U盤和嵌入式設(shè)備上,適用于不同操作系統(tǒng)之間交換數(shù)據(jù)。在日常使用中,用戶最容易接觸到的是FAT32,常見于U盤,不過會(huì)有單個(gè)文件體積4GB的限制,隨著數(shù)據(jù)量的增大,往后使用率會(huì)慢慢降低。

NTFS

NTFS全稱是New Technology File System,最早出現(xiàn)于1993年,使用Windows NT內(nèi)核的操作系統(tǒng)開始提供支持。從Windows 2000開始,包括后來的Windows XP直到現(xiàn)在我們使用的Windows 10,默認(rèn)文件系統(tǒng)都是NTFS。

從Windows 9x時(shí)代過來的用戶都會(huì)記得,當(dāng)年Windows系統(tǒng)崩潰是常有的事情,對于喜歡折騰的用戶來說,重裝系統(tǒng)是家常便飯了。到了Windows XP時(shí)期,除了界面的巨大變化,在使用上最讓人印象深刻的莫過于穩(wěn)定性,重裝系統(tǒng)的機(jī)率大幅度減少。NTFS文件系統(tǒng)具有錯(cuò)誤預(yù)警功能、磁盤自我修復(fù)功能和日志功能三個(gè)功能,相比原來的FAT文件系統(tǒng),NTFS文件系統(tǒng)在安全性、易用性和穩(wěn)定性上都有了質(zhì)的飛躍。

NTFS系統(tǒng)是一個(gè)日志文件系統(tǒng),是為網(wǎng)絡(luò)和磁盤配額、文件加密等管理安全特性設(shè)計(jì)的磁盤格式,提供長文件名、數(shù)據(jù)保護(hù)和恢復(fù),能通過目錄和文件許可實(shí)現(xiàn)安全性,并支持跨越分區(qū)。在NTFS系統(tǒng)中,除了寫入信息,還會(huì)對操作進(jìn)行記錄,當(dāng)NTFS文件系統(tǒng)在發(fā)生錯(cuò)誤的時(shí)候,利用日志功能可以修復(fù)數(shù)據(jù),使得系統(tǒng)恢復(fù)變得更加容易。

在日常使用中,個(gè)別使用Mac的用戶可能會(huì)遇到不能正常使用NTFS文件系統(tǒng)格式U盤的情況。這是因?yàn)樵趍acOS系統(tǒng)里,默認(rèn)對NTFS文件系統(tǒng)格式的U盤只能讀取,不能寫入、刪除或修改,需要額外的工具才可以。

exFAT

exFAT全稱是Extended File Allocation Table File System,意思是擴(kuò)展FAT,即擴(kuò)展文件分配表。這是微軟專門為閃存設(shè)備設(shè)計(jì)的文件系統(tǒng),在Windows Embeded 5.0開始提供支持,一方面可以解決NTFS不太適用于閃存的問題(不斷讀寫可能會(huì)影響使用壽命),另一方面是為了解決FAT32單個(gè)文件體積4GB限制等問題。

如果用戶使用Windows 8及更高版本的操作系統(tǒng),可原生支持exFAT啟動(dòng),同時(shí)支持以特殊方式安裝在exFAT分區(qū)中。由于exFAT文件系統(tǒng)在Windows,Linux以及macOS上都能進(jìn)行讀寫操作,而且支持大文件,這些特性讓exFAT使用在U盤上就非常適合了。雖然exFAT兼容性比起FAT32會(huì)差一些,但長遠(yuǎn)來說使用率會(huì)越來越高。

macOS

HFS/HFS+

HFS全稱是Hierarchical File System,即分層文件系統(tǒng),也稱Mac OS 標(biāo)準(zhǔn)格式。這是由蘋果開發(fā)可用于軟盤、磁盤和光盤的文件系統(tǒng)格式,首次出現(xiàn)在1985年。HFS用于取代更為老舊的MFS(Macintosh File System),即Macintosh 文件系統(tǒng)。很長時(shí)間內(nèi),HFS都是Mac專有的主要文件系統(tǒng),也是蘋果Open Firmware所支持的最基本的文件系統(tǒng)。

HFS+稱為Mac OS 擴(kuò)展格式,是蘋果在1998年發(fā)布(首見于Mac OS 8.1)的Mac專有大容量硬盤文件系統(tǒng),以改善HFS對磁盤空間的地址定位效率低下的問題,并加以改進(jìn)。HFS+使用了相當(dāng)長的時(shí)間,差不多有20年的時(shí)間,一直到macOS 10.12。不過HFS+是一個(gè)飽受爭議的文件系統(tǒng)格式,Linux之父Linus Benedict Torvalds曾稱HFS+是有史以來最爛的文件系統(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全稱Apple File System,即Apple 文件系統(tǒng)。隨著2017年蘋果推出macOS10.13,APFS取代了 HFS+,成為Mac電腦所使用的默認(rèn)文件系統(tǒng)。新的文件系統(tǒng)具有強(qiáng)加密、空間共享、磁盤快照、快速目錄大小統(tǒng)計(jì)等特性,以及改進(jìn)的文件系統(tǒng)基礎(chǔ),優(yōu)化了SSD性能。

隨著計(jì)算機(jī)技術(shù)的發(fā)展,CPU多核心、內(nèi)存和硬盤的容量不斷增大、存儲(chǔ)介質(zhì)從HDD逐漸轉(zhuǎn)向SSD等,硬件的改變需要軟件的配合,而HFS+已不能適應(yīng)新時(shí)代硬件的發(fā)展節(jié)奏了。APFS不但適用于閃存/SSD存儲(chǔ),還可以與HDD和外置直連儲(chǔ)存設(shè)備的低版本系統(tǒng)配合使用。值得一提的是,APFS的開發(fā)和設(shè)計(jì)是從2014年開始的,而且是從零開始構(gòu)建,前后僅用了三年的時(shí)間,可以說非常高效。

Linux

Ext2/Ext3

Ext2全稱Second Extended Filesystem,是Linux內(nèi)核所使用的文件系統(tǒng),首次出現(xiàn)于1993年,是許多早期Linux發(fā)行版默認(rèn)的文件系統(tǒng)。Ext2可以說的Linux系統(tǒng)中使用最多的一種文件系統(tǒng),其存取文件的性能極好,CPU占用率極低,既可以用在磁盤這樣的標(biāo)準(zhǔn)存儲(chǔ)設(shè)備,也能用在磁盤等移動(dòng)存儲(chǔ)設(shè)備上。

Ext3全稱Third Extended Filesystem,這也是不少Linux發(fā)行版默認(rèn)的文件系統(tǒng),首次出現(xiàn)于1999年。Ext3屬于一種日志文件系統(tǒng),是對Ext2的擴(kuò)展,并兼容Ext2,兩者共享相同的工具集,而且兩種文件系統(tǒng)之間進(jìn)行轉(zhuǎn)換非常容易。簡單來說,Ext3就是Ext2基礎(chǔ)上加入日志功能,實(shí)現(xiàn)了三個(gè)級別的日志記錄方式,包括日記(journal))、順序(ordered)和回寫(writeback)。

在Ext3文件系統(tǒng)里,會(huì)將整個(gè)磁盤的寫入動(dòng)作完整記錄在磁盤的某個(gè)區(qū)域上,詳細(xì)記錄每個(gè)細(xì)節(jié),以便有需要的時(shí)候可以回溯追蹤。即使在某個(gè)過程被中斷,系統(tǒng)可以根據(jù)記錄重整,動(dòng)作會(huì)非常迅速。

Ext4

Ext4全稱Fourth Extended Filesystem,是在Ext3基礎(chǔ)上新的高級功能,首次發(fā)布于2006年。由于改動(dòng)導(dǎo)致Ext3變得不穩(wěn)定,最終從Ext3中剝離并單獨(dú)發(fā)展。經(jīng)過了一段時(shí)間的不斷改進(jìn),Ext4才變得穩(wěn)定,成為現(xiàn)今大部分Linux發(fā)行版默認(rèn)的文件系統(tǒng)。

在功能上,Ext4和Ext3非常相似,但支持大文件系統(tǒng),提高了對碎片的抵抗力,有更高的性能以及更好的時(shí)間戳。由于在Ext4開發(fā)過程中仍依賴于不少舊技術(shù),存在一定的局限性,但在Linux下一代文件系統(tǒng)誕生前還會(huì)不斷改進(jìn),以適應(yīng)現(xiàn)階段硬件的發(fā)展需要。未來一段時(shí)間內(nèi),Ext4還會(huì)繼續(xù)開發(fā)新的功能,包括元數(shù)據(jù)校驗(yàn)和、一流的配額支持和大分配塊。

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: 系統(tǒng)

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉