我们很多时候不得不承认由于种种原因,大陆这边对于电脑的学习研究实在流于形式和重复,虽然这样的情况在逐步改善,但是还是有很多让人可惜的事件在发生,诸如汉语编程之类将别人的开源软件改造成自己的案例,希望不要再发生了。我们泱泱大国,好好研究一些项目,诸如wps、FIT输入法这样优秀的软件,一定是层出不穷。电脑上(不管是windows还是mac)用的软件几乎都是国外的作品,这样的景象是否能够得到改观,需要我们每一个人的努力。
最早学习appleII的时候,深受香港出版的“彻底研究”系列的影响,现在让我们来看看海那边的朋友介绍的mac下的文件系统的HFS+的诸多问题。
HFS 最早是在 1985 年的時候發表的,而 HFS+ 則是在 1998 年發表。
HFS 最最最令人詬病的就是這種資料結構將所有的資料全部存在在同一個資料結構中。而這種資料結構不僅會導致系統 loading 加重,也會耗損掉無謂的儲存空間,嚴重的情況下,還會導致 hugging。雖然 HFS+ 改善了一些 HFS 的一些問題,但是資料結構上的問題並沒有徹底解決。
我舉一個最簡單的例子來說好了,OSX Leopard 10.5 上的新功能 Time Machine 這個備份功能來說好了。Time Machine 的備份是依據檔案資料上得一些差異性來決定是否備份。而 HFS/HFS+ 造成最嚴重的問題就是,假設,你今天有的 10MB 的檔案,而當中你只有對這 10MB 資料當中的 1MB 做了修改。合理的作法,應該是需要在備份這 1MB 的差異性資料。然而,HFS/HFS+ 下你必須完整的重新紀錄一次 10MB。也就是說,你雖然只修改了 1MB 的資料,卻變成需要紀錄兩次 10MB 的資料。這也就是 Time Machine 效能不理想,而且浪費硬盤空間的原因。
其實 HFS/HFS+ 還有許多其他的問題存在,雖然 OSX Leopard 有在 HFS+ 上又動了一些手腳,改良了一些資料結構上的問題,但是,這種有洞補洞,亡羊補牢的作法,根本沒有辦法把 HFS/HFS+ 的問題完全根治。
我曾經在我的部落格當中寫過 Time Machine 這部份的問題。
(http://blog.osx119.com/?p=98)更值得一讀的是 Ars Technica 有發表過 Time Machine 的技術分析,也提到了 HFS/HFS+ 的詬病。(http://arstechnica.com/reviews/os/mac-os-x-10-5.ars/14)在 Leopard 還沒上市前,很多技術人員一直希望 Apple 能採用 ZFS 的原因。畢竟 HFS 算算也都 20 幾年的古董了,HFS+ 也都要十年了,技術上根本就太落後了!所以 Linus Torvalds 所言屬實,這點是 Apple 必須檢討的地方。
題外話,其實 OSX 現在的 GUI 框架方式,早在 NeXT OS 上就已經出現了。雖然經過了幾代的演變,改了很多東西,進化了不少,但是,那個 Finder 的結構框架,還是挺像的。有機會可以看看 NeXT OS 的 GUI 畫面,不難發現 Steve Jobs 真的是把整個 NeXT OS 帶進 Apple。

0 Responses to “mac的文件系统HFS+介绍”
Leave a Reply