Apple推出全新的檔案管理系統,這個很重要嗎?/Jean-Louis Gassée
大多數人在談到「電腦裡的檔案管理系統」時,大概都不會覺得是個檯面上的重要角色,而只是在電腦深處默默工作的小齒輪;然而,如果我們更深入瞭解一下,就會發現這個「小齒輪」將會是下一代電腦作業系統中的關鍵。
尤其對於Apple來說,新的檔案管理系統更是影響著未來不同版本作業系統、以及各種硬體裝置之間彼此連結的關鍵。
雖然對於資訊科技有點瞭解的人都知道,檔案系統是電腦上最重要的核心功能之一,但對於一般用戶來說,這是個比較無聊的部份;甚至多數專家也很少有機會介紹它的功勞。
APFS的重要性
現在,就讓我們來看看它到底有哪些重要性、它到底幫我們做了哪些事、以及它到底服務了誰。Apple隨著新版iOS公開的APFS檔案管理系統,未來將會令三個方面受惠最多:
使用者:也就是願意付錢的顧客,而且這個族群是主要的獲利來源;
應用程式開發者:他們所開發的各種軟體,能夠讓這些Apple硬體產品有更多功能、以及更強的市場吸引力;
當然,還有Apple本身。
對於一般使用者來說,檔案系統的分內工作很單純,不外乎儲存檔案、並且為檔案編目索引,以便之後隨時取用;但對於比較專業的用戶而言,APFS檔案系統的檔案細緻管控功能、極快的資料解析速度、以及對個別檔案進行多金鑰加密的能力,都是非常先進的設計。但一般使用者並不一定會感受到、或是欣賞這些優點。
iOS可以在用戶「不太清楚」的狀況下,完整而安全的抽換系統底層,才是難度最高的地方。
簡單的說,就是大部分用戶都不太在意這種事情,而在意的人也不見得完全瞭解它。舉例來說,APFS這些看起來很難懂的新功能,可以讓資料加密處理更快、更容易使用、也更安全,而且使用儲存空間的效率更高、備份也更可靠。包括iPhone、iPad、Apple Watch和Apple TV,在從30年前設計的HFS+檔案系統升級到新的APFS之後,將可以容納未來更新、更先進的應用。
在這個更新的過程中,您可能只知道手上的iPhone升級到了iOS 10.3版,此外一概不太清楚;但正因為可以在用戶「一概不太清楚」的狀況下,完整而安全的抽換整個系統底層的檔案管理架構,才是這次升級難度最高、也最值得稱讚的地方。
「現代化」的檔案管理系統讓資料更安全
在這裡來分享一個最近的經驗。筆者家裡的一部MacBook Air在備份資料到Airport Time Capsule網路硬碟的時候,一直出現問題;過去手邊的Apple筆電狀況一直都不錯,我也以為很快就可以找到問題根源,於是研究了一下,最後發現問題出在SSD(固態硬碟)上有一些檔案壞了。
因為損壞狀況很嚴重,連磁碟修復工具都沒辦法處理;後來的暫時解決方法,是用一個叫做「Super Duper」的複製工具,將整部磁碟的內容拷貝成映像檔。這樣一來,我就可以在出門時做好映像檔、並且帶著上路以防萬一;如果自己的電腦開不了機,就用別人的電腦接上備份檔來使用。
SSD原本就是一種會逐漸損壞的消耗品,這種狀況通常稱為容量位元衰減(Bit Rot)。對於這種在SSD開始流行之後特有的問題,像APFS、Btrfs、ZFS這類的現代化檔案系統,都必須能夠主動偵測問題,並且最好能準確標示發生位置、同時發出警告訊息;可惜的是,目前這些新的系統都還沒有廣泛使用在消費性的電腦和手持設備上。
但當我在備份損壞的SSD時,它老是停留在同一個地方,也就是損毀檔案的位置;在接下來的兩天之中,我花了許多時間把這些壞檔一一找出來刪除,直到備份作業順利完成為止(或許有更簡單、更專業的處理方法,有的話歡迎指點)。
舊的檔案管理系統是檔案用「K」計算時代的產物,現在的單位已經是「T」了。
該讓軟碟片時代的檔案管理系統退休了
但對於軟體開發者而言,事情就沒有那麼單純了。雖然Apple隨著新系統推出,也公布了一系列的新API
[footnote]Application Programming Interfaces(應用程式設計介面),也就是讓開發商透過程式取用系統新功能的規格。[/footnote]
;這一點基本上是好消息,但也有些稍微麻煩一點的地方:新的程式架構中不免會有新的臭蟲、或是文件不完整的地方,需要開發商自己花點時間去研究和適應;但只要假以時日克服這些問題,終究還是可以轉移到新系統上、並且享受新的優點。
如前所述,這些優點包括更嚴謹的檔案處理程序、更具彈性的儲存空間管理、內建的編碼加密功能(目前Mac系統的「File Vault」加密功能,算是後來再新增上去的);這些不僅是好東西,而且都是未來新的app上非得充分運用不可的功能。如同Apple在新的開發技術文件上所說明的:
過去的HFS檔案系統、以及後續的加強版HFS+,都可以說是30年前的設計;在它們的時代,軟碟片和機械式硬碟都還是主流,而且檔案的大小是用「幾K」、大不了「幾M」來計算的。
現在,大家都是用動輒幾百G或幾百T的容量,將上百萬的檔案儲存在高速SSD上,而且必須要能在極短的時間之內,把想要的檔案找出來;大家都會把資料帶著走,但同時也要求最高的安全性。
對APFS技術細節有興趣的讀者,可以參閱Backblaze網站上的這篇文章:
[embed]https://medium.com/@smokingtuna/jlg-8a5f75e169be[/embed]
如果您用個人電腦的資歷夠久,或許會記得一個叫做「The Flounder」的老作業系統:
然後是1984年推出的Mac作業系統:
在最早版本的這個系統上,甚至還沒有「檔案夾」的概念,所有的檔案就攤平在桌面上。
不久之後,HFS(Hierarchical File System)階層式檔案管理系統在1985年推出,然後一路進化到我們目前使用的樣子;而在這個過程中,HFS當然加上了無數的修改、延伸、以及疊床架屋的改進。有趣的是,全新APFS的系統架構師之一Dominic Giampaolo,正是當年針對HFS的缺點改進,而創造出BeOS檔案管理系統的人。
iOS上的AFPS
需要一提的是,雖然目前iPhone和iPad已經改用了APFS檔案系統,但內部的階層管理仍然被隱藏在用戶看不到的地方。iOS用戶唯一看得到檔案夾、或是增加新檔案的地方,是在iCloud Drive雲端儲存空間上;但使用者不能在iOS設備上新增檔案夾,必須在Mac電腦上才能操作。
也就是說,iOS上目前還沒有像macOS上「Finder」這樣,讓使用者直接管理檔案的系統介面。當然,真正內行的使用者可以跳過Finder介面,直接以終端機模式進入系統底層,愛改什麼就改什麼,甚至毀掉磁碟內的所有檔案:
APFS是Apple生態系返老還童的機會
對於Apple來說,APFS是讓整個生態環境「返老還童」,把所有破銅爛鐵留在過去、只留下重要資料和回憶的絕佳機會。而且就是因為Apple常常被詬病的所謂「封閉式系統」,才能讓這次轉換得以如此順利成功。
新系統有臭蟲在所難免,但也因為它是個全新的封閉系統,所以更容易找到並修正問題,而不需要跟各式各樣、五花八門、甚至來路不明的第三方軟硬體奮戰。有某一家PC作業系統大廠的主管告訴筆者,他們用在開發、修正各種驅動程式的時間和金錢,比用來改善作業系統本身的還多。
筆者很期待看到APFS應用在桌上電腦的macOS系統,讓舊系統的一切黑歷史都隨風而去;而這次在iOS上先行發表,也說明了Apple目前的優先順序、以及未來的發展方向。順帶一提,Apple將會在5月2日發表新的當季營運數字,我們將可以看到關於這些最近發展的初步結果,應該會相當精彩。
(譯/ Fred Jame)
編輯延伸討論
無論是哪個作業系統,檔案管理其實都是基礎中的基礎;因為無論是應用軟體本身、應用軟體內部使用的檔案(例如介面用的圖片)、外部使用的檔案(例如文件檔),或是其他公用函式庫、語系檔等等,無一不在檔案管理的籠罩之下。
如果檔案管理系統的效率高,整個作業系統的反應就會快。但有時候「效率」跟「功能」是互相矛盾的。
例如最小儲存單位如果比較大(磁碟上分割的區段較少),存取速度就比較快,但就更浪費空間(因為會有許多區段被填不滿的少量資料佔用);同時,諸如上文中提到的個別檔案加密處理,理論上也會拖慢檔案存取的速度。
當然,只要電腦本身的運算速度、以及儲存媒介的處理速度越快,這些取捨所付出的代價就比較少,例如因為加密所拖慢的速度幾乎感覺不到,所以更容易兩全其美;但如果要能充分運用新電腦的速度,可能就需要改寫整個檔案系統,包括相關的磁碟區段分割方式、檔案索引和加密的演算法等等,並且讓這些技術彼此完全整合才行。
所以,最近iOS升級到10.3版之後,手機或平板上原本每佔用16GB的資料,都可以多空出2G來,就是拜改變區段分割方式之賜。
但區段因為變小了,所以在同樣的總容量之下,區段數量就會變多,也更需要更高的運算和索引速度來彌補;這一點對於現在iPhone和iPad使用的新款Ax處理器問題不大。
更換全新檔案系統這件事情,其實是任何一個主流作業系統近年來面對網路化、行動化、輕量化,再加上對省電、資訊安全、傳輸速度等等方面的要求,都必須勇敢面對的一個變革;相信能做出穩定作業系統的微軟、Google、甚至Canonical等公司,也都有能力針對這些需求推出新的版本。
但重點是,需要花多少時間、多少痛苦、多少客服支援,才能讓這麼多用戶幾乎全部以「無痛」方式順利升級完成。一般來說,廠商如果追求的是安全,應該會在某個重大版本推出時(例如「Windows 11」),認真要求用戶備份資料(雖然現在也都有要求,但真正先備份再升級的人應該不多),然後以「fo掉重灌系統再回存資料」的方式來做。
而Apple這次甚至不是大版本更新,只是iOS 10.2升級到10.3,就以「偷樑換柱」的方式更新系統,即使不說這一點在技術上有多了不起,說聲「膽子真的夠大」應該也不為過。
題外話
從早期的DOS到現在,作業系統的檔案管理方式多半還是以「階層」(hierarchy)概念為基礎,也就是用一層一層的模擬檔案夾來整理。
但檔案夾就是最好的整理方式嗎?其實不盡然,因為它的重要缺點之一,就是容易累積重複的檔案、或是同一個檔案的不同版本,浪費許多空間。所以,編輯在研究生時代就曾經提出一個概念,就是「沒有階層,但透過索引和標籤,在需要時再將相關檔案即時彙整為一組」,也就是「臨時彙整」(ad hoc group)的概念。
如果您用過iTunes軟體,裡面有一個「智慧型播放列表」的功能,就類似這個意思。例如原本並沒有設定「90年代歌曲」的歌單,但需要時就可以定義一個新的列表,將歌曲中有「90年代」標籤的項目彙整進來。
這個作法的優點,包括可以擺脫階層數目的限制、空間效率更高、重複檔案更少等等,但需要更強的硬體和演算機制,才能達到令人滿意的效能。當然,這個作法也還有其他缺點(所以二十多年來好像還沒有人實作)。
但總而言之,我們相信階層式檔案管理系統即將進入下一個世代,也將會趨近於這個形式的完美狀態;但它終究有一天會達到極限,未來的電腦使用和系統運作方式,也可能會徹底推翻這種形態。或許,這次我們就不用再等30年了。