標籤:
作為收購 NeXT 公司的結果,蘋果公司獲得了 NeXTSTEP 架構中的 Mach 和 Objective-C 等設計。儘管 NeXTSTEP 本身已經不再發展了,但是其中的組件在 OS X 中獲得了新生。事實上,可以將 OS X 看成是 Mac OS Classic 和NeXTSTEP 的融合,更準確地說,應該是後者慢慢地吸收了前者。這個轉變並不是瞬間發生的,Mac OS 經曆過一個名為Rhapsody 的臨時作業系統,這個系統從未公佈於眾。然而,就是 Rhapsody 這個系統最終演化成了 Mac OS X 的第一個版本,而這個作業系統的核心也就是我們今天所熟知的 Darwin(中文名稱:達爾文)。
在所有作業系統裡面,Mac OS X在設計上和實現上與NeXTSTEP最接近,甚至超過了蘋果公司自己的OS 9。OS X的核心組件——Cocoa、Mach、IOKit、Xcode的Interface Builder以及很多其他組件——都直接來自於 NeXTSTEP。這兩個極端的小眾的作業系統——一個有著偉大的 GUI 但是設計糟糕,一個設計很棒但是 GUI 非常平淡——融合的結果就是一個比兩者加起來都要流行得多的全新作業系統。
有時候人們會混淆 OS X 和 Darwin 這兩個名詞的定義以及兩者之間的關係。下面來澄清一下:OS X 是整個作業系統的一個集體名稱。根據下一章的討論,這個作業系統由很多組件構成,
Darwin 就是其中的一個組件。
Darwin 是作業系統的類 UNIX 核心,本身由核心(kernel)、XNU(“X is Not UNIX”的縮寫,這
個縮寫類似於 GNU 的遞迴式縮寫)和運行時組成。Darwin 是開源的(iOS 中的 Darwin 是在 ARM 上的移植,這個Darwin則是不開源的,詳見稍後的討論),而OS X中的其他部分,即蘋果公司提供的各種架構,不是開源的。
http://hovertree.com/h/bjaf/webfuzadu.htm
OS X 的版本和 Darwin 的版本之間有一個簡單的關係。除了 OS X 10.0 對應 Darwin 1.3.x之外,其他的版本都服從以下簡單的公式:
If (OSX.version == 10.x.y)Darwin.version = (4+x).y
因此,例如 Mountain Lion 的 10.8.0 版本對應 Darwin 12.0。Snow Leopard 的 10.6.8 版本對應 Darwin10.8。儘管看上去有點混亂,但至少是一致的。
推薦:http://www.cnblogs.com/roucheng/p/texiao.html
Mac OS 的一點曆史: Mac OS, Mac OSX 與Darwin