Darwin (操作系统)

编辑
本词条由“匿名用户” 建档。
Darwin 是 Apple 的免费 Unix 操作系统,也是 Apple 专有操作系统的基础,它从 Mac OS X 演变而来:Mac 个人电脑的 macOS、iPod 和 iPhone 移动设备的 iOS、iPad 的 iPadOS、Apple TV 的 tvOS -顶盒,以及适用于 Apple Watch 的 watchOS。 它于 1999 年 3 月 16 日首次作为 Darwin ...

Darwin (操作系统)

编辑

Darwin 是 Apple 的免费 Unix 操作系统,也是 Apple 专有操作系统的基础,它从 Mac OS X 演变而来:Mac 个人电脑的 macOS、iPodiPhone 移动设备的 iOS、iPadiPadOS、Apple TV 的 tvOS -顶盒,以及适用于 Apple Watch 的 watchOS。 它于 1999 年 3 月 16 日首次作为 Darwin 0.1 与 Mac OS X Server 1.0 一起提供。

1997 年 1 月,NeXT 被 Apple 接管,随之而来的是操作系统 OPENSTEP,该操作系统称为 NeXTStep,直到版本 3,刚刚发布了 4.0 版。 这被称为狂想曲等。 扩展到在白金设计中包括 Macintosh 界面,也用于 Mac OS 8,以及 Blue Box 虚拟化环境,Mac OS 8.1 可以在该环境下以虚拟化形式运行。 NeXTStep、OPENSTEP 和 Rhapsody 使用 BSD Unix 的大部分作为能够在多个平台和计算机体系结构上运行的操作系统的基础 - Rhapsody 也应该在多个平台上运行,但在 1998 年苹果停止了完整的 Rhapsody for PowerPC 的发布Macintosh 和 x86 PC 系统,因为多平台战略被认为在市场失败了。 在 1998 年的 WWDC 上,Apple 宣布 Mac OS(当时是第 8 版,System 7 直到 1997 年)与 Rhapsody 合并,被称为“Mac OS X”。 根据史蒂夫乔布斯的说法,Mac OS X 应该在 1999 年发布。 然而,由于它在 1999 年还没有准备好,Rhapsody 作为一个仅适用于 Macintosh 的服务器操作系统发布,名称为“Mac OS X Server 1.0”——其开源 BSD 内核为 Darwin 0.1。

在此基础上——Rhapsody 和 Darwin 作为它的开源部分——Mac OS X 10.0 的开发开始了,随着开发者预览版的发布和 1999 年的公开测试版,Darwin 的一些版本也发布了,可以在 Macintosh 计算机上运行运行 Mac OS 是可安装的。 但在 2001 年完成 Mac OS X 10.0“Cheetah”版本之后,Apple 对正式的 Darwin 发行版失去了兴趣,从那时起只提供 Darwin 的源代码,它构成了专有操作系统的相应版本的基础。 在这种形式下,Darwin 的进一步发展与 Apple 操作系统的发展紧密交织在一起。

由于 macOS 和 iOS 的组成部分不是开源的,Darwin 缺少 Aqua 图形用户界面和 Quartz、OpenGL、QuickTime 以及编程接口 Cocoa 和 Carbon,这就是为什么适用于 Mac OS X/ OS X/ macOS 的程序也不可执行。 因此,少数可用的 Darwin 发行版使用免费(与 FreeBSD 兼容)的桌面环境,例如借助MacPorts,大量的免费软件也可以在Darwin上使用,不费吹灰之力。

架构、功能描述和系统需求

编辑

Darwin 的源代码库可以追溯到 4.4BSD-Lite,在 1994 年结束的 UNIX 代码权利纠纷之后,它被剥离了原始 System V 代码的最后几行幸存。 它在免费许可下,即 APSL。 同时,Darwin是NeXT开发的操作系统NeXTStep的后代,1996年更名为OPENSTEP,仍然基于4.3BSD。 Apple 在 1996 年底购买了 NeXT,然后将购买的系统进一步开发为 Rhapsody。 BSD 基本系统从 4.3BSD 移植到 4.4BSD Lite 源代码,内核从 Mach 2.5 移植到 Mach 3。 随着 Mac OS X Developer Preview 1 的发布,这个内核首先以 XNU 的名称为人所知,并作为 Darwin 源代码的一部分发布。 但是,Mach 3 并没有完全实现,而是补充了部分 FreeBSD 内核,形成了混合内核,从而兼具了单片内核的优点和微内核的优点。 Apple 也参与其中的 MkLinux 的部分 Mach 实现被重用。

Darwin 在 PowerPC 处理器、x86 处理器和 ARM 处理器上以不同版本运行。 虽然 Darwin 的所有程序也可以在 Mac OS X 上运行,但为 Mac OS X/ OS X/ macOS 定制的程序不一定在 Darwin 上运行。 用于 iPhone 的移动操作系统 iOS、用于 iPad 的 iPadOS、用于 Apple TV 的 tvOS 和用于 Apple Watch 的 watchOS 也基于 Darwin,尽管用户既不能访问文件系统也不能访问命令行。

可用性

编辑

Apple 本身现在只发布创建 Darwin 操作系统所需部分的源代码。 但是,由于 Apple 的内部构建系统不是公开的,源代码编译起来并不容易。 对于像 OpenDarwin 和 PureDarwin 这样的项目,首要任务是使源文本可以用公开可用的编译器翻译。 源文本也专门针对 Apple 硬件进行了改编,并且没有很好的记录,这使得改编变得困难。 例如,对于 XNU 内核,Apple 一直只发布当前 Mac 使用的处理器架构所必需的 macOS 部分,而不是 iOS 部分。 由于 Mac OS X Snow Leopard(10.6,2009)放弃了对 PowerPC 的支持,因此在 Darwin 10.0 及更新版本的 XNU 内核中也不再支持 PowerPC。 除了少数例外,iOS 源代码不可用。

最初,Apple 发布了一个名为“Darwin OS”的 Mac OS 软件包,它允许在 Mac 上安装 Darwin。 独立发行版部分由外部开发人员提供。 从 2002 年开始,将 Darwin 操作系统作为发行版提供的任务交给了 OpenDarwin 项目。 当它停止时,有一些独立的努力来发布一个基于达尔文的成熟 Unix 操作系统的发行版,但只取得了一定的成功。

Darwin (操作系统)

达尔文操作系统(1999-2002)

从 1999 年开始,Apple 开始向有限数量的开发人员提供 Mac OS X 的xxx个开发人员预览版。 其核心基于 NeXT 开发的 OPENSTEP(直到 1995 年为 NeXTStep 或 NeXTSTEP),并在 1996 年底被 Apple 收购后作为 System 7 的继任者进一步开发。 在 Rhapsody 项目(可以看作是 OPENSTEP 的 5.x 版本)于 1998 年终止后,Apple 于 1999 年发布了直接基于它的版本 Mac OS X Server 1.0。 xxx个操作系统的核心,被称为“Mac OS X”,成为 Mac OS X 10.0(2001 年,alpha 和 beta 版本 1999-2000)的基础,但同时开放源代码部分由 Apple 发布,希望自由协作鼓励开发人员。 自从 Apple 在 1997 年决定结束多平台战略(并称 Rhapsody 是为 Mac 和 PC 开发的失败产品)之后,进一步的开发完全集中在 PowerPC 架构上。 然而,源代码的发布使得自由开发者将其反向移植到英特尔 x86 架构成为可能。

Darwin OS 0.3 (1999) 具有与 Mac OS X Server 1.0(1999,Rhapsody 5.3–5.6)相同的硬件要求,并且随着 Mac OS X 的发展,其要求和系统兼容性也很快得到提升。 Darwin 1.2.1 (2000) 可在所有同时运行 Mac OS X Public Beta 的 Macintosh 系统和一些 Intel x86 PC 上运行。 但是,Apple 并未积极寻求对 x86 版本(“Darwin x86”)的支持。

Apple 发布的软件包最初只能从 Mac OS 安装,但有一种 Darwin 发行版的外部资源作为可引导安装 CD。 在 Darwin 1.3.1/x86 和 1.4.1(后来的 Darwin 版本 5)中,Apple 本身首次发布了可引导的 Darwin ISO 映像作为 Developer Connection 的一部分。

与 NeXTStep 和 OPENSTEP 一样,Darwin(以及 Mac OS X 或 OS X 或 macOS)也受益于大量开源项目。 因此,Apple 是全球开源社区的一部分,因为由于许可(例如 WebKit),通常必须发布进一步的开发。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/364190/

(12)
词条目录
  1. Darwin (操作系统)
  2. 架构、功能描述和系统需求
  3. 可用性
  4. 达尔文操作系统(1999-2002)

轻触这里

关闭目录

目录