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