286
iPhone_iPad_Mac_手機_平板_蘋果apple
apple新姿勢,看完我又撿起了我的16GiPhone
Apple 現在麵臨著一個抉擇:繼續維護渾身“補丁”早已過了“而立之年”的 HFS+ 文件係統,還是全新開發一套文件係統。顯然,相比於前者高昂的維護成本,後者來得更劃算一些。
在去年的 WWDC 上,蘋果在深思熟慮之後做出了這個抉擇,發布了全新設計的文件係統:APFS( Apple File System )。
這意味著使用了 20 年的 HFS+ 文件係統將被逐步替代。我們知道,HFS 的曆史已經有30多年,誕生在軟盤和機械硬盤時代,很多特性已經不適用如今大多數企業和用戶所需要的一些基本功能,比如:納秒級時間戳、校驗、稀疏文件等。從 Snow Leopard 開始,Apple 就有轉向 ZFS(最為先進的文件係統之一)的想法。但是由於後來 Sun 被 Oracle 收購,該項目後來就擱置了。直到今年,Apple 終於又將新的文件係統提上日程。
下麵,差評君從開發者的角度,通過 Sierra 中的一些文檔、開發者網站中提供的資料和一些實例,來與大家聊一聊 APFS 存在的意義和它與 HFS+ 的區別。這篇文章主要麵向對於 macOS 內部文件係統機製感興趣的朋友們,對於 Mac 新手和無硬件基礎的讀者們來說可能不是很友好。
對於一部我們手中完整的 Mac 產品來說,它的組成部分大致可以分成三層:1、處在最底層的 Hardware 層;2、底層之上的 Core OS “ Darwin ” 層;3、頂層圖形用戶界麵的 GUI 部分,即 “ Aqua ” 層。就上麵提到的這幾部分的層級關係,我們可以畫一張圖表示一下:
我們要討論的APFS 和 HFS+ 文件格式屬於第二層,即 “ Darwin ” 核心係統層中最底部 Mach 層嵌套的 BSD 係統中的 File Systems 部分。
這套類 Unix 的 BSD 係統由加州大學伯克利分校在 1977 年至 1995 年開發,在之前 NeXT 公司成功開發了由 Mach3 、BSD 以及 I/O Kit 的混合內核之後,Apple 將其很好地移植到了 macOS 上,這部分從 2000 年的 Mac OS X 和 iOS 的基礎 “ Darwin ” 發布後就一直沿用至今。
對於 File System ,我們知道它向上服務 Application 和 Users ,向下服務 Storage Device Diver 和 Device 。正是這樣的層級關係,差評君在試圖尋找係統目錄下的 File System 描述文件時,無意間發現了這個 apfs.fs 的彩蛋包( path :: /System/Library/Filesystems/apfs.fs ),通過創建時間我們可以知道它是在 2017 年 6 月 21 日被添加進來的。
當然,我們按常理也可以判斷出來:新文件格式的開發一定不會脫離舊有的文件格式環境。換句話說,APFS 的開發是要依賴於 HFS+ 的文件格式下才可以實現的。正是因為這種原因,APFS 一定會繼承 HFS+ 的全部功能。
打開文件包,我們可以從 Resource 文件夾下看到有關 APFS 格式的一些指令現在已經封裝好已經可以通過 Terminal 調用了。我們嚐試打開一個 newfs_apfs.fs ,可以發現其中的概述部分還處於缺失狀態,可見截止到 2017 年 6 月 21 日,這個文件係統從去年開始就一直處在緊鑼密鼓地開發之中,至少這個文件呈現給用戶的就是這個樣子。
我們接著這個文件,還可以從中窺見一些端倪:新的 APFS 格式可以為文件添加密碼。作為文件係統安全性保障的加密功能是 WWDC 上特別強調的,同時也是不同於 HFS+ 格式的一大改動。相較於 HFS+ 的全盤加密,APFS 則提供了統一密鑰加密,針對敏感元數據單獨密鑰加密和多密鑰加密的功能,這樣哪怕用戶設備物理安全受到威脅,依然可以保障數據的完整性。
下麵差評君就簡單地說一說經過半天的測試,這套 APFS 文件係統的表現。
首先我們需要創建一個 APFS 文件格式環境,由於在 10.12.6 版本下似乎關閉了 disktuil 後 createContainer 指令的調用,所以現在網上的方法都已經失效了。不過,通過瀏覽開發者文檔,差評君發現可以通過 Terminal 結合 hdiutil 相關命令來進行環境的創建,這裏創建的過程就不贅述了。最終我們生成了一個 30GB 大小的 Apple 稀疏磁盤映像 Media ,掛載到了外置優盤中。通過 diskutil 相關命令,我們可以檢驗到的確生成了 APFS 的 Container 和一個名稱為 I_am_APFS 的 APFS 卷宗。
我們通過 diskutil apfs list 命令列出當前係統中所有的APFS 卷宗信息:
可以看到的是,這裏與目前普通 HFS+ 宗卷不太相同。首先,一個 GPT 分區,如 disk4 被標示為一個 APFS Container,這其實是將整個分區作為一個邏輯分區區域。通過 APFS Physical Store 也可以看到這一點。然後,該分區上有一個名為 I_am_APFS 的宗卷,設備名稱為 disk4s1。
在測試時我們以大家最常用的複製操作為例:
采用控製變量的方法,在同一塊優盤中同時生成了 APFS 和 HFS+ 兩種格式的 Container 。下麵我們用一部1.5 GB 的 mkv 文件進行數據傳輸速度測試:
通過測試,這部視頻拷貝至 APFS 格式係統內和 HFS+ 格式係統內分別用了 20 秒和 10 秒。為什麼 HFS+ 速度反而會比 APFS 快了一倍?由於我們使用的是第三方外置存儲設備,對於 APFS 的支持不是很好,這也說明了另一個問題:蘋果新的文件係統如何被第三方廠商支持,這種轉型一定是需要時間的,而時間的長短或許取決於在 APFS 正式推出後對用戶體驗的改善情況的好壞。
由於改變了存儲邏輯,在複製文件時無論多少份都幾乎隻占用一份的空間大小。新複製的文件通過地址索引鏈接的方法指向原始文件,或者說它們更像是一種並行的關係。比如在 APFS 格式下將 1.5 GB 的電影複製十份,占用的大小依舊是 1.5 GB 。這種機製更像是現在網盤廠商在維護硬盤空間時常用的查重機製,而 APFS 或許使用了一種與網盤廠商校驗 MD5 不同的方法來進行查重。
我們通過開發者文檔可以了解到,這套 APFS 文件係統對大小寫敏感。這也就意味著有許多軟件在新文件係統下將無法安裝使用,典型代表就是 Adobe 全係列軟件。
另外,由於APFS 不支持目錄硬鏈接,所以它現在不兼容 Time Machine 功能,希望以後能夠針對 Time Machine 提供更高效的序列化機製。
總結一下,現在這套脫胎換骨的 APFS 已經具備與 BSD HAMMER、Linux btrfs,或 OpenZFS 等現代化文件係統不相上下的功能和特性。對於 APFS 在下一個係統版本 “ High Sierra ” 中的表現,讓我們拭目以待。
其實不止 macOS ,下一版本的 iOS 11 也很有可能搭載 APFS 文件係統,這對使用小容量存儲設備的用戶來說是一個利好消息。
最後更新:2017-08-22 01:31:56
上一篇:
將 LG UltraFine 5K 顯示屏與 iMac 搭配使用
下一篇:
Apple Pay在美國的使用率將會大幅上升
現在high sierra出來了,想獲取10.12.6怎麼辦呢
Apple Store 免費兌換:Plotagraph 幫你做出大片級的 GIF 動圖
itunes 未能連接到此iphone 發生未知錯誤(OxE8000015)
請聯係itunes store支持以完成此交易,怎麼解決。?
iTunes要求您的電腦運行Windows 7 Service Pack 1 或更高版本
win10 電腦用iCloud備份手機照片C盤被大量占用
iTunes12.7的版本中沒有App Store,如何下載應用並且更新到手機上?
我需要立即取消Apple music會員資格
Adobe CC 2018版本破解包,支持Win/Mac係統,親測有效
我Mac的itunes連接iphone不顯示應用,怎麼設置?
熱門內容
冬日裏的小確幸英式蘋果派 Delicious and Seasonal Apple Pie
為什麼你比從前更需要一份 AppleCare+?
Apple Watch遇時區問題 一問Siri今天天氣就重啟
美國吃定中國市場?不僅iPhone熱售,apple也想賣給中國
Apple Park訪客中心將於下周五向公眾開放
Apple Pay 的擴張之路繼續 中國也新增兩家
iPhone X有“烙印”屬正常現象?Apple 建議四大避免方法
曬單大賽#屏幕是最大驚喜—Apple 蘋果 iPhone X 手機 使用5天全感受
傳博通最快今天宣布收購高通計劃;Apple Watch 3被曝出故障:通過Siri詢問當天天氣會死機
海外有人問到 Apple Watch 天氣狀況時,突然就重啟了