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