热门问题
时间线
聊天
视角

Darwin (操作系统)

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

Remove ads

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

事实速览 开发者, 编程语言 ...

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 related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads