Darwin 操作系统2025年4月30日 | 9 分钟阅读 Mac OS X 的 Darwin 操作系统核心以苹果命名。没有用户界面的 Mac OS X 被称为 Darwin。基于 BSD Unix 和 Mach 3.0 的内核自 1999 年首次发布以来,就融合了苹果和 UNIX 的不同世界的特性。Mac OS X 于 1997 年使用苹果的 NeXT 技术开发。NeXT 公司基于 4.3 BSD 开发了 OPENSTEP 操作系统,作为 NEXTSTEP 的升级版。 由于 Darwin 与 FreeBSD 发行版兼容作为参考,并推动了许多开源项目,苹果积极推广 BSD 社区。Mac OS X 将 Mac OS 的易用性与 UNIX(受保护内存区域)的效率和稳定性相结合。Darwin 操作系统的吉祥物是鸭嘴兽 Hexley。 概述苹果和开源社区正在合作开发 PowerPC 和 x86 操作系统版本。开源理念影响着操作系统的各个版本。公众可以获得更新和新进展;通过免费注册,可以在苹果网站下载源代码。无法排除 Darwin 操作系统 XNU 分裂成几个发行版的可能性。 为 Darwin 系统核心创建的所有程序都与 Mac OS X 兼容,但一些独特的 Mac OS X 程序在 Darwin 上无法原生运行。Mach-O 是 Darwin 可执行应用程序的默认格式。支持主要由 Linux 使用的软件。Linux 应用程序可以移植,但尚未支持 ELF 格式。 历史
Darwin 结构Mac OS X 实现了抢占式多任务,并受益于相关的 UNIX 设计提供的保护内存区域。内核有五个部分:包含 I/O Kit、文件系统、网络功能和 BSD 子系统的 Mach 微内核。文件系统支持 Unicode 和最多包含 255 个字符的文件名。Mach 微内核负责资源管理,包括调度、内存保护、处理器性能和系统间通信。核心部分包含 4.4 BSD-Lite2 内核和用户空间的特定版本。这隔离了网络连接和文件系统,并包含 POSIX API。 对于 Mac OS X,BSD 内核负责程序组件的线程化、安全策略管理和系统进程管理。 面向对象的编程工具,例如 Darwin 附带的 I/O Kit,提供了创建驱动程序软件所需的资源,该软件支持抢占式多任务和 SMP。 OpenDarwin 为了创建 Darwin 的衍生版本和 Mac OS X 源代码的开发环境 (IDE),于 2002 年成立了 OpenDarwin 项目。新成立的社区充当了 Mac OS X 和 Darwin 中苹果公司纳入官方源代码的新功能和错误修复的试验场。 2006 年 7 月 25 日,OpenDarwin 核心团队和管理员在其网站上公布了该项目的终止。 引用:“近年来,OpenDarwin 已缩减为 Mac OS X 相关项目的简单托管平台。最初构建 Darwin 和 Mac OS X 源的计划并未实现。社区缺乏兴趣、源的可访问性、与苹果员工的沟通、构建和监控源的挑战等都对此起到了推波助澜的作用。” 2007 年,PureDarwin 作为一个新项目推出,旨在让 Darwin 更贴近开源爱好者和开发人员。通过文档,任何爱好者都可以学习、改编和分享 Darwin。目标之一是为 Darwin 10.x 和 Darwin 9.x 创建可启动的 ISO 文件。 创建设计操作系统中使用以下设计功能。 1. 基础(内核)Darwin 的内核是 XNU,一个混合型内核,它利用 FreeBSD 的特定组件(如虚拟文件系统、网络堆栈和进程模型)、Open Software Foundation Mach Kernel 7.3 (OSF) 以及称为 I/O Kit 的面向对象设备驱动程序 API。混合型内核概念提供了单体内核的性能以及微内核的灵活性 [验证失败-参见讨论]。 2. 软硬件支持最新可启动的完整版 Darwin 支持 32 位和 64 位 Apple PowerPC 计算机以及 32 位 Intel PC。 Darwin 目前支持 64 位 ARM 处理器,这些处理器用于 iPhone 5S 及更高版本、iPad Air 系列、第 6 代 iPod Touch、iPad Mini 2 及更高版本、第 5 代 iPad 及更高版本、第四代、iPad Pro 系列、后期 Apple TV、HomePod 系列、配备 Apple Silicon 的 Mac(例如 2020 年 Apple M1 Mac)以及 Raspberry Pi 3B。 通过 XNU 内核的开源移植,Darwin 支持苹果不正式支持的 Intel 和 AMD x86 平台,尽管自 2009 年以来似乎未更新。对于 ARM 设备,XNU 内核也作为开源移植可用,但自 2016 年以来未更新。早期版本支持 64 位 PowerPC、32 位 PowerPC、32 位 ARM 和 32 位 x86 的部分或全部。 由于 Darwin 的 BSD 血统(主要是 FreeBSD 用户空间)支持 POSIX API,许多为不同类 Unix 系统创建的程序都可以轻松地在 Darwin 上编译,而无需更改源代码。 Darwin 无法执行 Mac 应用程序,因为它缺少使 macOS 独一无二的许多组件,包括 Quartz Compositor、Cocoa 和 Carbon API 以及 Aqua 用户界面。尽管如此,它确实支持一些不太为人所知的 macOS 功能,例如 launchd(一个强大的服务管理框架)和 mDNSResponder(多播 DNS 响应器,是 Bonjour 网络技术的基本组成部分)。 3. 许可证自由软件基金会 (FSF) 将 Darwin(苹果于 2003 年 7 月根据 Apple Public Source License (APSL) 2.0 版本发布)归类为与 GNU 通用公共许可证 不兼容的自由软件许可证。 早期版本根据 APSL 许可证的早期版本分发,该许可证符合开源理念的标准,但未能满足 FSF 对自由软件的概念。 衍生项目Darwin 是免费软件。因此,曾有改进或修改操作系统的计划。 1. OpenDarwinDarwin 是 OpenDarwin(一个由 Internet Systems Consortium 和 Apple Inc. 于 2002 年 4 月推出的社区驱动的操作系统)的基础。该计划旨在加强自由软件社区和苹果开发者之间的合作。 苹果从中受益,因为 OpenDarwin 的更新可以进入 Darwin 的版本。让开源或自由社区完全控制其操作系统对他们有利。 OpenDarwin 项目团队于 2006 年 7 月 25 日宣布关闭,因为他们认为 OpenDarwin 将成为 Mac OS X 相关项目的托管设施,并且他们开发独立 Darwin 操作系统的尝试均未成功。 2. Pure DarwinPureDarwin 的目标是利用苹果公开的 Darwin 源代码来生成一个可启动的操作系统镜像。由于 OpenDarwin 停止使用并从 Darwin 8.x 开始提供可启动镜像,许多组件变成了闭源,因此构建完整的操作系统变得更加困难。该项目于 2015 年发布了一个基于 Darwin 9 的预览版本,带有 X11 GUI,随后是基于 Darwin 17 的仅命令行 17.4 Beta 版。 3. 其他衍生项目
发行历史下表显示了主要 Darwin OS 的发布日期及对应的操作系统。
结论Darwin 操作系统用于 macOS 应用程序和设备。它主要通过高级功能和实用性进行升级。 下一个主题页面故障处理在操作系统中 |
我们请求您订阅我们的新闻通讯以获取最新更新。