跳至內容

Darwin(作業系統)

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

Darwin是由蘋果公司佇二空空年所釋出的一个開放原始碼作業系統。Darwin 是 macOS 和 iOS 操作環境的作業系統部份。蘋果公司佇二空空年共 Darwin 釋出予開放原始碼社群。

Darwin 是一種類 Unix 作業系統,包含開放原始碼的 XNU 核心,其實微核心做基礎的核心架構來實際做 Mach,啊若作業系統的服務佮使用者空間工具是以 BSD 為基礎。類似其他類似 Unix 作業系統,Darwin 嘛有對稱加處理器的優點,高效能的網路設施佮支援多種整合的檔案系統。

整合 Mach 到 XNU 核心的好處伊是有可紮性,或者是佇無仝形式的系統使用軟體的能力。比如講伊,一个作業系統核心整合矣 Mach 微核心,會當提供濟種無仝 CPU 架構的二進位格式到一个單一的檔案(比如講 x 八十六佮 PowerPC), 這是因為伊使用了 Mach-O 的這个二進位格式。Mach 的缺點是增加著作業系統核心的複雜度。佇過去的微核心實際上,這種複雜度有當時仔會致使真歹分離核心效能的問題。所以,採用 Mach 微核心會伴隨風險,但伊有藏佇的好處是廣泛的可移植性。以 Darwin 可移植性的具體例來講,佇二空空五年六月,蘋果電腦宣佈伊會佇二空空六年佇 Mac 電腦開始用 Intel 處理器。

Darwin 的開發者佇二空空年決定採用一个吉祥物,選擇鴨仔喙 Hexley。蘋果電腦嘛無共 Hexley 認可為 Darwin 的一个標誌。

佇二空空二年四月,佇網際網路軟體論壇(Internet Software Consortium , ISC)上,Apple 成立 OpenDarwin . org,是一个協助合作 Darwin 發展的社群。OpenDarwin 建立伊家己釋出的 Darwin 作業系統。值得注意的是 OpenDarwin 子計畫內底包含著 DarwinPorts,目標是組合下一世代的 port 集合予 Darwin 使用(對著長期來講,有予其他的 BSD 所衍生的作業系統)。 OpenDarwin 專案佇二空空六年中止,二空空七年另外一个 PureDarwin 專案成立去接手 OpenDarwin 進前的目標。

二空空三年七月,蘋果佇 APSL 的二孵空版本下釋出了 Darwin,是由自由軟體基金會批准為自由軟體的許可證。以前佇咧以前的彼个 APSL 版本下,就算講伊已經達到開放原始碼定義的要求,毋過咧釋出進前版本並無符合 FSF 對自由軟體的定義。

設計的

核心

Darwin 的核心是 XNU,伊是一種混合核心,伊採用啊來自 OSF 的 OSFMK 七鼗三(Open Software Foundation Mach Kernel)和 FreeBSD 的各種要素(包括過程模型,網路疊起來佮虛擬檔案系統), 閣有一个稱為 I / O Kit 的物件導向的裝置驅動程式 API。混合核心設計使其具備了微核心的靈活性佮單核心的效能。

硬體佮軟體支援

Darwin 目前支援佇 Mac 中使用的 Intel x 八十六處理器的六十四位元 x 八十六鼻六十四變體以及佇咧 iPhone 五 S,第六代 iPod Touch,iPad Air,第四 Apple TV 中使用的六十四位元 ARM 處理器,上代先的 HomePod 佮閣較懸版本,以及佇咧 iPhone 五 C 佮閣較早版本,早期版本的 iPod Touch,一直到第四代的 iPad 以及第二和第三代 Apple TV 中使用的三十二位元 ARM 處理器。XNU 核心的一个開源的移植支援 Apple 猶未正式支援的 Intel 和 AMD x 八十六平台頂的 Darwin,就算是自二空空九年以來若像無進行過更新。XNU 核心的開源移植也可以 ARM 平台。較舊的版本支援三十二位元 PowerPC,六十四位元 PowerPC 佮三十二位元 x 八十六的部份抑是全部。

伊通過著 BSD 的沿襲(主要是 FreeBSD 使用者領域)支援 POSIX API,並且會當佇 Darwin 上編譯做其他各種的類似 UNIX 系統編寫的大量程式,無需要改原始碼。

Darwin 無包括 macOS 的真濟定義元素,比如講 Carbon 和 Cocoa API 抑是 Quartz Compositor 和 Aqua 使用者介面,所以無法度執行 Mac 應用程式。猶毋過,伊確實支援 macOS 的真濟鮮為人知的功能,比如講 mDNSResponder,伊是加放 DNS 回應器,是 Bonjour 網路技術的核心組件,閣已經推出進階服務管理框架。

許可證

二空空三年七月,Apple 佇咧 Apple Public Source License(APSL)二嬸空版之下發布矣 Darwin,自由軟體基金會(FSF)共歸類做一个佮 GNU General Public License 無相容的自由軟體許可證。伊進前的版本是根據 APSL 許可證的以前版本發佈的,就算講伊確實滿足矣開放原始碼定義的要求,但是伊無符合 FSF 對自由軟體的定義。

版本歷史

下表是主要的 Darwin 版本佮其發行日期佮相應的 macOS 版本的表格。請注意,相應的 macOS 版本可能是佇其他日期發布的;有關遮的日期,請參閱 macOS 頁面。

Mac OS X v 十曉一 . 一發行版中,版本號對 Darwin 一孵四 . 一走去到五允一,旨咧將 Darwin 佮 Mac OS X 版本佮內部版本的系統聯絡起來,若後者閣是對 NeXTSTEP 繼承落來的。佇咧 macOS 的內部版本號系統內底,逐个版本攏有一个唯一的開始內部版本號,用佇標識其所屬的規个 macOS 版本。Mac OS X v 十五零的內部版本號以四開頭,十五一的內部版本號以五開頭,照這寡推捒(古早的內部版本號代表開發人員的版本)。

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

吉祥物

Hexley是開放原始碼的作業系統—— Darwin(Mac OS X 的核心)的吉祥物。Hexley 是一个卡通的鴨喙獸,通常戴一个類似 BSD 小惡魔的帽仔,並且提著三叉叉。Hexley 是由 Jon Hooper 所設計的,著作權嘛為伊所有的。猶毋過 Hexley 並無附屬於蘋果電腦。本來這个吉祥物的名稱應該是Huxley,源由是捍衛達爾文(Darwin)演化理論的英國生物學家托馬斯 ・ 亨利 ・ 赫他們,原本提議的人誤掠做是達爾文的助理,並毋著用矣 Hexley。發現錯誤的時陣,欲改名已經傷晏矣,所以沿用起來矣 Hexley 這个名。

衍生專案

因為 Darwin 的自由軟體性質,已經有一寡旨咧修改抑是增強作業系統的專案。

OpenDarwin

OpenDarwin 是因為 Darwin 社群主導的作業系統。伊由 Apple Inc . 和 Internet Systems Consortium 佇二空空二年四月成立。其目標是加強 Apple 開發人員佮自由軟體社群之間的協同運作。蘋果公司對這个案當中受益,因為乎 OpenDarwin 的改進將納入 Darwin 版本內底。自由 / 開源社群受著對其作業系統的完全控制,並且會使共伊用於 GNU-Darwin 等自由軟體發行版中。

二空空六年七月二五,OpenDarwin 團隊宣佈這个案件已經關起來,因為𪜶認為 OpenDarwin「已經成做 Mac OS X 相關專案的唯一代管工具」,而且建立獨立的 Darwin 作業系統的拍拚失敗矣。𪜶閣指出講:「 訊息來源的可用性,佮 Apple 代表的互動,建立佮佮跟蹤訊息來源的困難以及社群欠缺興趣,這一切攏為此做出著貢獻。」伊最後的穩定版本是二空空四年七月十六發行的七刣二 . 一版。

PureDarwin

PureDarwin 是一个對 Apple 發行的 Darwin 原始碼中建立會當引𤆬的作業系統映像的專案。自從 OpenDarwin 停止執行以及 Darwin 八 . x 以來發布會當啟動映像以來,因為真濟組件攏成做是封閉源,所以建立完整的作業系統變甲那來那困難。這个專案已經成功建立矣是因為 Darwin 九和 X 十一 GUI 的 Xmas 版本佮干焦基於 Darwin 十七的命令列十七堵四 Beta。

其他衍生專案

  • MacPorts(較早是 DarwinPorts), Fink 和 Homebrew 是將 UNIX 程式徙到 Darwin 作業系統閣提供包管理服務的程式。另外咧,你幾个標準的 UNIX 軟體套件管理器(比如講 RPM,pkgsrc 和 Portage)具有 Darwin 的移植。其中一寡佇家己的名稱空間中執行,避免干擾基本系統。
  • GNU-Darwin 是一个共自由軟體的軟體套件徙栽仔去 Darwin 的這个案。𪜶用類似 Linux 發行版的方式打包 OS 鏡親像。
  • Darwine 專案是 Wine 佇咧 Darwin 搬徙這,伊使人會當佇 Darwin 上執行 Microsoft Windows 軟體。
  • SEDarwin 是 TrustedBSD 強制存取控制框殼佮 SELinux 框架的一部份佇咧 Darwin 搬徙這。伊已經合做伙 Mac OS X 十石五中。
  • Darbat 專案是 Darwin 佇咧 L 四微核心系列頂懸的試驗性移植。伊旨咧和這馬的 Darwin 二進位檔案二進位相容。
  • Darling 專案是用佇咧 Linux 系統上執行 macOS 二進位檔案的相容性層。伊就使用一寡 Darwin 的原始碼。
  • 有真濟專案專注射驅動程式支援:譬如講無線驅動程式,有線 NIC 驅動程式,數據機驅動程式,讀卡機,ext 二和 ext 三檔案系統。

參考

外部連結

  • Apple-Mac OS X-Technologies-Darwin
  • PureDarwin 社群開發網頁
  • DarwinPorts 專案
  • Hexley , Darwin 吉祥物
  • Apple Public Source License 二孵空
  • 對於 APSL 之自由軟體基金會的意見
  • Apple Press Release:蘋果電腦佇二空空六年開始使用 Intel 微處理器
  • Mac OS X 和 BSD 的差異