热门问题
时间线
聊天
视角

Darwin (作業系統)

作業系統 来自维基百科,自由的百科全书

Remove ads

Darwin是由蘋果公司於2000年所釋出的一個開放原始碼作業系統。Darwin是macOSiOS操作環境的作業系統部份。蘋果公司於2000年把Darwin釋出給開放原始碼社群。

快速預覽 開發者, 程式語言 ...
Remove ads

Darwin是一種類Unix作業系統,並包含開放原始碼的XNU內核。其以微核心為基礎的核心架構來實作Mach,而作業系統的服務和用戶空間工具則以BSD為基礎。與其他類Unix作業系統相似,Darwin也有對稱多處理器的優點,高效能的網絡設施和支援多種整合的檔案系統。

整合Mach到XNU內核的好處是可攜性,或者是在不同形式的系統使用軟件的能力。舉例來說,一個作業系統核心整合了Mach微核心,能夠提供多種不同CPU架構的二進位格式到一個單一的檔案(例如x86和PowerPC),這是因為它使用了Mach-O的二進位格式。Mach的缺點則是增加了作業系統內核的複雜度。在過去的微核心實作上,這種複雜度有時候會導致很難分離核心效能的問題。因此,採用Mach微核心會伴隨風險,但它有潛在的好處是廣泛的可移植性。以Darwin可移植性的具體例子來說,在2005年6月,蘋果電腦宣佈它會於2006年在Mac電腦上開始採用Intel處理器。

Darwin的開發者在2000年決定採用一個吉祥物,並最終選擇了鴨嘴獸Hexley。蘋果電腦沒有把Hexley認可為Darwin的一個標誌。[來源請求]

在2002年4月,Apple在互聯網軟件討論區(Internet Software Consortium, ISC)上成立OpenDarwin.org,一個協助合作Darwin發展的社群。OpenDarwin建立它自己釋出的Darwin作業系統。值得注意的是OpenDarwin子計劃中包含了DarwinPorts,其目標是組合下一世代的port集合給Darwin使用(長遠來說,其也能供給其他BSD所衍生的作業系統所用)。OpenDarwin專案於2006年中止,並且於2007年由另一個PureDarwin專案成立去接手OpenDarwin之前的目標。

2003年7月,蘋果在APSL的2.0版本下釋出了Darwin,其是由自由軟件基金會批准為自由軟件的許可證。儘管它先前在較早的APSL版本已經達到開放原始碼定義的要求,它們並不符合FSF對於自由軟件的定義。

Remove ads

設計

Thumb
macOS 架構圖

內核

Darwin的內核是XNU,它是一種混合內核,它採用了來自OSF的OSFMK 7.3[2](Open Software Foundation Mach Kernel)和FreeBSD的各種要素(包括過程模型,網絡堆疊和虛擬檔案系統),[3]還有一個稱為I/O Kit的物件導向的裝置驅動程式API。[4] 混合內核設計使其具備了了微內核的靈活性和整塊性核心的效能。[5]

硬件和軟件支援

Darwin目前支援在Mac中使用的Intel x86處理器的64位元x86-64變體以及在iPhone 5S,第六代iPod TouchiPad Air,第四代Apple TV中使用的64位元ARM處理器,最初的HomePod和更高版本,以及在iPhone 5C和更早版本,早期版本的iPod Touch,直到第四代的iPad以及第二和第三代Apple TV中使用的32位元ARM處理器。 XNU內核的一個開源的移植支援Apple尚未正式支援的Intel和AMD x86平台上的Darwin,儘管自2009年以來似乎未進行過更新。[6]XNU內核的開源移植也可用於ARM平台。[7]較舊的版本支援32位元PowerPC,64位元PowerPC和32位元x86的部分或全部。

它通過對BSD的沿襲(主要是FreeBSD用戶領域)支援POSIX API,並且可以在Darwin上編譯為其他各種類UNIX系統編寫的大量程式,而無需更改原始碼。

Darwin不包含macOS的許多定義元素,例如Carbon和Cocoa API或Quartz Compositor和Aqua用戶介面,因此無法執行Mac應用程式。但是,它確實支援macOS的許多鮮為人知的功能,例如mDNSResponder,它是多播DNS響應器,是Bonjour網絡技術的核心組件,並已推出進階服務管理框架。

許可證

2003年7月,Apple在Apple Public Source License(APSL)2.0版之下發布了Darwin,自由軟件基金會(FSF)將其歸類為與GNU General Public License不相容的自由軟件許可證。[8]它之前的版本是根據APSL許可證的較早版本發布的,儘管它確實滿足了開放原始碼定義的要求,但它不符合FSF對自由軟件的定義。[9]

版本歷史

下表是主要的Darwin版本及其發行日期和相應的macOS版本的表格。[10]請注意,相應的macOS版本可能是在其他日期發布的;有關這些日期,請參閱macOS頁面。

更多資訊 版本, 版本發佈日期 ...

Mac OS X v10.1.1發行版中,版本號從Darwin 1.4.1躍升至5.1,旨在將Darwin與Mac OS X版本和內部版本號系統聯絡起來,而後者又是從NeXTSTEP繼承而來的。在macOS的內部版本號系統中,每個版本都有一個唯一的開始內部版本號,用於標識其所屬的整個macOS版本。Mac OS X v10.0的內部版本號以4開頭,10.1的內部版本號以5開頭,依此類推(早期的內部版本號代表開發人員的版本)。[22]

命令終端中的uname -r 命令將顯示Darwin版本號,uname -v命令將顯示XNU構建版本的字串,其中包括Darwin的版本號。

Remove ads

吉祥物

Hexley開放原始碼作業系統——Darwin(Mac OS X的核心)的吉祥物。Hexley是一個卡通鴨嘴獸,通常戴着一個類似BSD小惡魔的帽子,並握着三叉戟。Hexley是由Jon Hooper所設計的,著作權也為他所有。但Hexley並不附屬於蘋果電腦。本來這個吉祥物的名稱應該是Huxley,源由是捍衛達爾文(Darwin)演化理論的英國生物學家托馬斯·亨利·赫胥黎,而原先提議的人誤以為是達爾文的助理,並錯用了Hexley。而發現錯誤時,要改名已經太晚,因此沿用了Hexley這個名稱。

衍生專案

由於Darwin的自由軟件性質,已經有了一些旨在修改或增強作業系統的專案。

OpenDarwin

OpenDarwin是基於Darwin的社區主導的作業系統。 它由Apple Inc.Internet Systems Consortium於2002年4月成立。其目標是加強Apple開發人員與自由軟件社區之間的協同運作。 蘋果公司從該專案中受益,因為OpenDarwin的改進將納入Darwin版本中。自由/開源社區受益於對其作業系統的完全控制,並且可以將其用於GNU-Darwin等自由軟件發行版中。[23]

2006年7月25日,OpenDarwin團隊宣布該專案已關閉,因為他們認為OpenDarwin「已成為Mac OS X相關專案的唯一寄存工具」,並且建立獨立的Darwin作業系統的努力失敗了。他們還指出:「訊息來源的可用性,與Apple代表的互動,建立和跟蹤訊息來源的困難以及社區缺乏興趣,這一切都為此做出了貢獻。」[24]它最後的穩定版本是2004年7月16日發行的7.2.1版。[25]

Remove ads

PureDarwin

PureDarwin是一個從Apple發行的Darwin原始碼中建立可引導的作業系統映像的專案。[26]自從OpenDarwin停止執行以及Darwin8.x以來發布可啟動映像以來,由於許多組件都成為封閉源,因此建立完整的作業系統變得越來越困難。 該專案已成功建立了基於Darwin 9和X11 GUI的Xmas版本[27]和僅基於Darwin 17的命令列17.4 Beta。[28]

其他衍生專案

Thumb
XDarwin上的Window Maker
Remove ads

參考

Loading content...

外部連結

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads