2016年6月14日,蘋果在 WWDC 上正式宣布了全新的文件格式——Apple File System(簡(jiǎn)稱 APFS)。根據(jù) Apple 提供的初版開(kāi)發(fā)者文檔介紹,APFS 的具體解釋是:針對(duì)閃存/SSD 存儲(chǔ)進(jìn)行優(yōu)化,提供了更強(qiáng)大的加密、寫入時(shí)復(fù)制(Copy-on-write)元數(shù)據(jù)、空間分享、文件和目錄克隆、快照、目錄大小快速調(diào)整、原子級(jí)安全存儲(chǔ)基元(Atomic safe-save primitives),以及改進(jìn)的文件系統(tǒng)底層技術(shù)。
現(xiàn)在,當(dāng)用戶升級(jí)iOS 10.3系統(tǒng)后,會(huì)將整個(gè)文件系統(tǒng)升級(jí)為 APFS,得益于這個(gè)新系統(tǒng),你會(huì)發(fā)現(xiàn)打開(kāi)應(yīng)用、切換后臺(tái)應(yīng)用時(shí)感覺(jué)比之前流暢了,而設(shè)備內(nèi)的可用存儲(chǔ)空間也比以前變多了。
是的,蘋果這是做好了充分準(zhǔn)備,將讓APFS替代此前舊的文件系統(tǒng)HFS+。那么APFS文件系統(tǒng)究竟有什么革新之處呢,它將能夠?yàn)橛脩魝儙?lái)怎樣的變化呢?
為什么要做更新
在詳解 APFS 之前,我們必須先從HFS+開(kāi)始講講文件系統(tǒng)對(duì)蘋果的重要性。操作系統(tǒng)中負(fù)責(zé)管理和存儲(chǔ)文件信息的軟件機(jī)構(gòu)稱為文件管理系統(tǒng),簡(jiǎn)稱文件系統(tǒng),也就是我們理解的在存儲(chǔ)設(shè)備上組織文件的方法。
HFS+文件系統(tǒng)是蘋果第三代文件系統(tǒng),最早期型號(hào)的Mac使用了名為MFS(Macintosh File System)的文件系統(tǒng),但很快蘋果又在1985年推出了 HFS 文件系統(tǒng),那時(shí)Mac 512K還是蘋果的旗艦級(jí)產(chǎn)品,這套系統(tǒng)存在了十幾年,直到1998年,蘋果在HFS的基礎(chǔ)上升級(jí)出了HFS+文件系統(tǒng),隨著擁有4GB硬盤的G3 PowerMacs一起到來(lái)。在那之后,家用電腦的存儲(chǔ)能力可以說(shuō)增長(zhǎng)了好幾千倍,為了對(duì)應(yīng)不同的設(shè)備,HFS+也被分成了多個(gè)競(jìng)爭(zhēng)的方向,擁有不同的功能。
HFS+不僅作為Mac的文件系統(tǒng)標(biāo)準(zhǔn)從1998年沿用至今,而且同樣也是iPod及iOS設(shè)備的文件系統(tǒng)基礎(chǔ)。HFS+推出之時(shí)市面上仍以軟盤和HDD作為主要存儲(chǔ)設(shè)備,基本沒(méi)有為現(xiàn)在流行的閃存和SSD作優(yōu)化。算上原始的HFS基礎(chǔ),這套老舊的系統(tǒng)已經(jīng)使用了30年。
30年時(shí)間里,計(jì)算機(jī)硬件和軟件的發(fā)展日新月異,HFS+在應(yīng)付現(xiàn)代硬件和軟件都已經(jīng)力不從心,存在元數(shù)據(jù)以大字節(jié)序保存、單線程訪問(wèn)、不支持稀疏文件、寫時(shí)復(fù)制等等一大堆缺點(diǎn),不僅速度很慢,而且用久了之后會(huì)出現(xiàn)卡、崩潰之類的情況。是時(shí)候該出現(xiàn)一個(gè)全新的替代系統(tǒng)了。
APFS強(qiáng)在哪?
APFS在基本的文件系統(tǒng)設(shè)計(jì)上就遠(yuǎn)比HFS+先進(jìn),HFS+為32位文件ID,而APFS支持64位索引節(jié)點(diǎn),時(shí)間戳間距從HFS+的1秒降低至1納秒,配合著現(xiàn)代處理器和 SSD 遠(yuǎn)低于1秒的文件操作時(shí)間,所以在低延遲性上足以讓用戶感受到某種使用體驗(yàn)的飛躍。
APFS還原生支持SSD的FTL和Trim,所以性能上當(dāng)然更強(qiáng)、空間利用率更高,另外與HFS+固定形式的文件系統(tǒng)結(jié)構(gòu)不同,APFS是個(gè)具有擴(kuò)展性的文件系統(tǒng),可以在未來(lái)增加更多新特性、API,為用戶提供更多樣化的服務(wù)。
通俗地說(shuō)APFS幾大新特性:
一、解決了空間占用的不合理
這得益于APFS的兩大功能:文件克?。–lones)和空間共享(Space Sharing),以及從克隆衍生的磁盤快照??寺「淖兞艘酝募到y(tǒng)復(fù)制文件時(shí)必須額外騰出空間來(lái)儲(chǔ)存這份復(fù)制文檔的問(wèn)題,在 APFS 下,復(fù)制文件不會(huì)產(chǎn)生同等的空間占用,它只儲(chǔ)存有變化的數(shù)據(jù),然后快速地提取出來(lái)。這意味著文件的復(fù)制速度會(huì)變得很快,而無(wú)論你復(fù)制多少份文件,它都不需要額外騰出大量存儲(chǔ)空間來(lái)“安置”它們了。
在macOS和iOS中,以往我們重復(fù)調(diào)用應(yīng)用,或者應(yīng)用之間進(jìn)行調(diào)用時(shí),就會(huì)涉及到復(fù)制,復(fù)制一遍,就得騰出雙倍空間,復(fù)制幾遍,就要好幾倍空間。但升級(jí)為APFS系統(tǒng)后,不管怎樣調(diào)用,都只需額外占用 1 倍的空間,可以說(shuō)徹底解決了應(yīng)用運(yùn)行中很關(guān)鍵的存儲(chǔ)和讀取問(wèn)題。
在克隆的原理基礎(chǔ)上,蘋果又進(jìn)一步給APFS加入了相似的磁盤快照(Snapshot),解決了備份占用時(shí)間長(zhǎng)、空間大的問(wèn)題。快照和克隆一樣,都是只有文件發(fā)生變化的那一部分才會(huì)占用更多的空間,所以你大可以更頻繁的去備份數(shù)據(jù),而不用擔(dān)心它們把你的磁盤占滿,更不用擔(dān)心備份和恢復(fù)備份浪費(fèi)掉漫長(zhǎng)的時(shí)間了。
空間共享解決的可能是大家最為心塞的問(wèn)題:系統(tǒng)盤已滿。傳統(tǒng)的硬盤分區(qū),會(huì)出現(xiàn)一個(gè)存儲(chǔ)盤被占得滿滿的,但別的存儲(chǔ)盤又很空的尷尬情況。而 APFS 則利用一項(xiàng)名為Space Sharing的新技術(shù),將存儲(chǔ)分區(qū)模擬成整體的“容器”,容器相對(duì)獨(dú)立,但是在需要的時(shí)候,又是歸于APFS的統(tǒng)籌之下,某一個(gè)出現(xiàn)容量不夠時(shí),整個(gè)APFS下的冗余空間可以隨意調(diào)配,這意味著每個(gè)容器的空間可以根據(jù)操作系統(tǒng)的指令,自由收放大小,除非整個(gè)存儲(chǔ)盤已經(jīng)填滿,否則將再不會(huì)出現(xiàn)某個(gè)盤空間不足的情況。
二、讓文件處理速度變快
APFS能夠讓人感覺(jué)系統(tǒng)和應(yīng)用的響應(yīng)速度變快,除了前面的克隆功不可沒(méi),還有I/O QoS。I/O QoS翻譯過(guò)來(lái)叫做“輸入輸出進(jìn)程服務(wù)質(zhì)量”,也叫進(jìn)程服務(wù)質(zhì)量。當(dāng)處理關(guān)鍵應(yīng)用和多媒體應(yīng)用時(shí),多個(gè)輸入輸出路線會(huì)對(duì)操作網(wǎng)絡(luò)造成擁堵,QoS就是確保其中重要進(jìn)程不受延遲或丟棄,同時(shí)保證網(wǎng)絡(luò)高速運(yùn)行的技術(shù)。
APFS在借助各項(xiàng)新技術(shù)整體提升了與SSD的適配度的同時(shí),也通過(guò)借助I/O QoS(服務(wù)質(zhì)量)改善文件操作延遲,對(duì)數(shù)據(jù)的不同訪問(wèn)被劃分到不同的優(yōu)先級(jí)中,優(yōu)先處理那些對(duì)用戶來(lái)說(shuō)是緊要的——感知明顯的操作,所以在使用中,用戶就會(huì)明顯地感覺(jué)到“快”。
以往NFS+在設(shè)計(jì)的時(shí)候,考慮到硬件性能的上下兼容,自帶元數(shù)據(jù)全局鎖,為照顧低頻處理器,所以一個(gè)單位時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問(wèn)文件系統(tǒng)。但到了如今多核處理器的年代,這顯然已經(jīng)造成了文件處理速度的瓶頸,于是APFS打開(kāi)了這把“鎖”,相當(dāng)于給高性能多核處理器和SSD之間開(kāi)放了一條更大的“高速公路”,路面更寬,對(duì)“交通”的管制也更規(guī)范合理了。
三、讓數(shù)據(jù)變得更加安全
數(shù)據(jù)安全有兩個(gè)方面,第一是它使用安全,可恢復(fù),不害怕崩潰、不害怕在讀取中丟失;第二個(gè)就是它的加密安全。
APFS比NFS+更先進(jìn)的一個(gè)方面就是它對(duì)數(shù)據(jù)的保護(hù)上。首先APFS有崩潰保護(hù)機(jī)制(Crash Protection),用戶在編輯文件時(shí),原有數(shù)據(jù)不會(huì)立刻被覆蓋掉,修改產(chǎn)生的變量會(huì)在文件系統(tǒng)用新的位置來(lái)保存,只有確定新數(shù)據(jù)已經(jīng)編輯完畢,才會(huì)最終完成覆蓋。即便是軟件崩潰或者發(fā)生斷電等意外,也可以最大程度確保數(shù)據(jù)等安全。
加密技術(shù)(Encryption)將原先的文件加密方式進(jìn)行了整合,分為無(wú)加密、單密鑰加密、多密鑰加密三個(gè)模式。其中多密鑰加密允許用戶使用不同的密鑰分別給設(shè)備、文件、單個(gè)數(shù)據(jù)進(jìn)行加密,這個(gè)不僅是系統(tǒng)級(jí)的也是硬件級(jí)的,意味著即便是別人獲得了你的硬件解鎖方法,依然無(wú)法獲取里面的數(shù)據(jù)。
iOS 10.3你能感受到的變化
升級(jí)iOS 10.3的同學(xué)們,同時(shí)iOS的文件系統(tǒng)也升級(jí)到了APFS,這個(gè)升級(jí)甚至不需要你做任何額外操作,數(shù)據(jù)也依舊全部保留完整(當(dāng)然做備份這個(gè)習(xí)慣還是要的)。
大家議論不已的升級(jí)之后可用空間有不同程度的增加,就是因?yàn)锳PFS改善了文件存儲(chǔ)機(jī)制,同名文件在iOS系統(tǒng)中只會(huì)占用一份空間。一些大容量App的調(diào)用也不像以前那樣,必須有1倍多的冗余空間才能完成,自然就為設(shè)備存儲(chǔ)釋放了更多的空間。
升級(jí) iOS 10.3之后,不少用戶反饋開(kāi)機(jī)速度變快,打開(kāi)、切換應(yīng)用感覺(jué)更快,是因?yàn)?APFS 在應(yīng)用運(yùn)行中通過(guò)進(jìn)程分配調(diào)整優(yōu)先級(jí),分層次分批次地運(yùn)行,而反饋到iOS設(shè)備屏幕上,你會(huì)看到應(yīng)用很快被打開(kāi),其實(shí) APFS 還在分配其他文件一一啟動(dòng),只不過(guò)在那個(gè)瞬間對(duì)用戶來(lái)說(shuō),就已經(jīng)是打開(kāi)應(yīng)用了。當(dāng)然,各位感興趣的話也可以試一試SHSH備份,看看是不是備份速度也有了提升。
此外,iOS 10.3在數(shù)據(jù)安全性上也有了增強(qiáng)。這不僅對(duì)用戶很重要,其實(shí)對(duì)開(kāi)發(fā)者同樣重要,這意味著更可靠的數(shù)據(jù)保存,更可靠的 API 調(diào)用,還能對(duì)用戶數(shù)據(jù)進(jìn)行比較方便的備份了。
APFS還擴(kuò)大了巨型文件的支持以及時(shí)間的準(zhǔn)確度,對(duì)于需要精準(zhǔn)時(shí)間支持的數(shù)據(jù),APFS有了實(shí)現(xiàn)基礎(chǔ)。支持的單一文件大小上限從現(xiàn)在的8 exabyte大幅增加到2^63 bytes,App的體積限制得到開(kāi)放了。
不過(guò)也需要提醒大家,您設(shè)備上的32位應(yīng)用可能過(guò)一段時(shí)間就無(wú)法適應(yīng)iOS了,開(kāi)發(fā)者必須更新將App更到64位。
更快的時(shí)代 這只是序幕
APFS是不是蘋果在軟件層面的殺手锏?我們說(shuō):是的。盡管它現(xiàn)在剛剛在iOS設(shè)備上得到應(yīng)用,我們也能感受到它對(duì)文件管理系統(tǒng)的一系列技術(shù)革新,從HFS+到APFS,必定是飛躍式發(fā)展。
未來(lái),APFS將通用于iOS、macOS、watchOS和tvOS這四個(gè)蘋果主要的操作系統(tǒng)中,結(jié)束蘋果此前所說(shuō)的“混亂”局面,讓蘋果產(chǎn)品實(shí)現(xiàn)文件系統(tǒng)的一致,實(shí)現(xiàn)代碼的一致,從而讓四大系統(tǒng)的更新維護(hù)、跨系聯(lián)動(dòng)、應(yīng)用開(kāi)發(fā)、新技術(shù)同步上,都實(shí)現(xiàn)真正的統(tǒng)一。
從筆者今天升級(jí)iOS 10.3的過(guò)程來(lái)看,APFS對(duì)HFS+的替代兼容很安全,沒(méi)有發(fā)生數(shù)據(jù)丟失,也沒(méi)有發(fā)生App無(wú)法訪問(wèn)的情況。但macOS上涉及到磁盤分區(qū)還有更復(fù)雜的問(wèn)題,我們還要進(jìn)一步看APFS針對(duì)更多設(shè)備的表現(xiàn)。而APFS也需要一段磨合時(shí)間,才能讓大家看到更多的進(jìn)化成果。
無(wú)論如何,這是一個(gè)必須更快的時(shí)代,APFS既是這個(gè)時(shí)代呼之欲出的產(chǎn)物,也是推動(dòng)蘋果設(shè)備變快甚至未來(lái)可能更多設(shè)備變快的技術(shù)助力。嘗試和享受新科技,這就是升級(jí)iOS 10.3的理由,這只是開(kāi)始。
評(píng)論
查看更多