這邊我們要來簡單介紹Mac OSX的架構以及Mac的韌體。如果真要詳盡介紹一個系統可能得花上幾本書的篇幅,我可不打算這樣做。希望你就把這篇當作是high-level的方式來談論電腦中low-level的部份。 如同前面那篇「Mac OSX簡史」中所敘述,Mac OSX是從NEXTSTEP這系統所衍生的。至於這二者之間有何相似或是差異之處,就不詳談。

Darwin
1999年3月16日,Darwin的第一個版本0.1版推出,主要是當作開發者的實驗型版本。雖然說Darwin本身就是個系統,但是我們最好把它看作是許多科技技術的整合,其中以Apple為主導。但這個系統的臨時應用程式環境中尚不包括Cocoa和Carbon,當然也沒有Mac OSX中最主要的GUI環境—Aqua(甚至連視窗介面都沒有)。

內容
Darwin 7.0.x(對映到Mac OSX 10.3.x)就包含了超過250個套件,之中絕大部份是Apple的(包括Mac OSX kernel和一些驅動程式),其他則多是從﹡BSD和GNU等等而來。
Apple在這裡整合了許多開放源始碼的軟體,可說是透過一次漂亮地槓桿操作來完成他們的系統: apache, bind, binutils, cvs, gcc, gdb, gimp_print, kerberos, mysql, openssh, openssl pam, perl, postfix, ppp, python, rsync, samba, 以及許多﹡BSD或GNU的套件。
Apple對這些開放源始碼的軟體做了相當的修改來符合他們的平台。甚至一個使用者可以像過去一樣來操作以及控制系統(例如用vi或是Emacs來編輯檔案),而Apple提供了簡化的使用者介面來讓作業更簡便,但需要注意的是Apple並非完全翻新。

跨平台
Darwin除了可以在PowerPC以及x86系統上面運行之外,甚至你可以編譯出一個“大“核心,達到只靠一個核心檔案就能在不同平台上面運作的目標。

版權
Darwin套件所採用的版權是Apple的Apple Public Source License (APSL),目前最新的版本是2.0版。雖然APSL跟鼎鼎大名的GPL不相容,但是在自由軟體協會網頁上也是有納入APSL。
GNU-Darwin計畫則是要整合Darwin與GNU二者。OpenDarwin則是Apple有參與共同創立的一個以開發Darwin為目的的計畫。你在該計畫官方網站上面可以同時下載PowerPC或x86版本的Darwin光碟。

層級
Mac OSX內部軟體的組程架構可以化成像是以下概念圖示的樣子:

韌體
Mac的韌體以及開機所會載入的元件,我打算留到「Mac的開機過程」這一章再談。

XNU:核心
XNU,也就是OSX的核心,這個我們也留到「XNU:核心」這章討論。

較高層級的服務與環境
將在「核心之上」這章作說明。

較高層級系統啟動機制
「Mac OSX 系統啟動」中說明。

本文由張元毓所翻譯,本人保有一切法律權利。
Copyright@ alan chang

»