macOS结构

✍ dations ◷ 2025-08-29 06:23:51 #macOS结构

OS X 是苹果公司 Mac OS 操作系统替代品的产物。 在多次失败的尝试之后,苹果于1994年启动了 Pink 项目(后来和 IBM 进行了合作),这就是 Taligent 和 Copland ,两年后这一项目取消。通过收购获得了 NeXT 和其 NeXTSTEP 操作系统之后,苹果公司开始着手开发他们最新的操作系统 (Mac OS X) OS X 首次出现是1999年的 OS X Server 1.0,第一个正式的 OS X 桌面版本发布于2001年3月24日。从10.5版本开始,OS X 通过了 Open group Unix O3 单一 Unix 规范认证。

2016年6月,苹果公司宣布OS X更名为macOS,以便与苹果其他操作系统如iOS、watchOS和tvOS保持统一的命名风格。

Mac OS X 包含两个主要的部分:以FreeBSD源代码和Mach微核心为基础的 XNU 混合内核,并在 XNU 上构建的 Darwin 核心系统;及一个由苹果开发,称为 Aqua 的闭源、独占版权的图形用户界面。细分的看,Mac OS X 系统可以分成五层结构,每一层有其代表性的技术。

NeXTSTEP 使用基于卡内基梅隆大学开发的 Mach 2.5 微内核 BSD 4.3 子系统开发的混合内核。 NeXTSTEP 还推出了基于 DPS 的窗口系统,通过在显示器和打印机上使用同一种语言以达到更好的所见即所得效果。 NeXT 还包含他们从 StepStone 的收购的面向对象的 Objective-C 的语言和一系列旨在加快软件开发的框架(工具包)。

NeXTSTEP 最初设计运行在跑摩托罗拉68K处理器上,但后来被移植到英特尔的x86,惠普的PA-RISC和升阳电脑的SPARC处理器。后来,开发工具和框架以OpenStep形式发布,作为一个开发平台,它可以其他操作系统上运行。

1997年2月4日,苹果公司收购了NeXT,并着手开发 Rhapsody 操作系统。Rhapsody 基于 NeXTSTEP 构建,并将核心系统移植到了 PowerPC 架构上并添加了一个重新设计的用户接口。允许旧 Mac OS 的程序运行在独立的 JAVA 平台上的模拟层称为 Blue Box,而 Objective-C 开发工具和框架被称为 Yellow Box,Yellow Box 将为 Windows 独立提供。

Rhapsody 项目的最终结果,以 OS X Server 1.0 的形式于1999年发布。

在1998年的苹果全球开发者大会(WWDC)上,由于 Macintosh 平台软件开发者对 Rhapsody 上的Yellow Box 和 Blue Box存在诸多不满,苹果公司作出回应,称 Mac OS X 将提供一个不同于 Rhapsody 中现存的、全新的 API。

来自 Macintosh Toolbox 的关键 API 使得 OS X 可以直接运行在 BSD 层上而不需要 Macintosh 模拟层,这个接口被称为 Carbon,是 Mac OS X 中五大主要 API 之一,Carbon 去除了约2000个有问题的 API(系统中 API 总数约8000个)并将之替换为现代操作系统兼容的系统调用。

与此同时,苹果宣布将 Mach 部分内核版本号升级到3,BSD 部分的内核将被 FreeBSD, NetBSD 和 OpenBSD 项目所替代. 他们还发布了名为 I/O Kit的新驱动层,用于替代 NeXTSTEP 中的 Driver Kit,针对 Driver Kit 缺少电源管理和热交换特性、自动配置功能匮乏等问题作出了改进。

在1999年的 WWDC 上,苹果公司发布了 Quartz,一个基于 便携式文档格式 的窗口系统以避免产生(先前 NeXTSTEP 中 DPS 系统中遇到过的)和 Adobe 的版权纠纷和相关费用。

苹果还宣布,Yellow Box 被更名为 Cocoa 并撤回了 Yellow Box 将在 Windows 系统上提供的承诺。此次 WWDC 苹果还首次演示了将 Mac OS X 运行在 HFS+ 格式的驱动器上 。

第一个面向消费者的 Mac OS X 版本是2000年9月13日发布的公开预览版。

内核和设备服务层包括 XNU 内核、设备驱动和其他底层组件。XNU是由苹果电脑发展的操作系统内核,被使用于Mac OS X中。它是Darwin操作系统的一部分,跟随着Darwin一同作为自由及开放源代码软件被发布。其中,XNU 是X is Not Unix的缩写。XNU 包括 Mach 和 BSD (libSystem)两个部分,最初版本的 XNU 是 Mach 2.5版本和 BSD 4.3 的混合,随着 OS X 的发布,Mach 版本升级到3,BSD 部分被 FreeBSD 替代。

Mach 是一个由卡内基梅隆大学开发的计算机操作系统微内核,是最早实现微核心操作系统的例子之一,也是许多其它相似的项目的标准。同UNIX一样,Mach系统也包含了一组丰富的实用工具,并保留了 Unix 中驱动程序的概念用以硬件交互。在 OS X 中,Mach 内核为系统提供了64位内核和主要驱动支持。

伯克利软件套件(英语:Berkeley Software Distribution,缩写为 BSD),也被称为伯克利Unix(Berkeley Unix),是一个操作系统的名称,现在 BSD 也被用于称呼其衍生的各种套件。BSD 开创了现代计算机的潮流,由于BSD设计出众,代码编写清晰,包括它的文档,BSD 是最早添加库以支持 IP 协议栈和伯克利套接字的 Unix 系统,套接字系统的发明使得计算机系统的网络通信和本地读写一样方便,BSD 。时至今日,BSD仍在学术机构,乃至许多商业或自由产品的高科技实验中,继续被用作试验平台,甚至在嵌入式设备中。最初的 OS X 的内核 XNU 所使用的是 4.3BSD ,该版本发布于1986年6月。时至今日,OS X 中的许多命令行工具还是来源于 BSD。在 OS X 中,文件系统、网络栈、IPC、通知机制的支持也来自 BSD。

核心系统层的技术和框架是硬件/网络相关的底层服务,这些服务是和内核特性直接相关的。包括以下组件和框架(不完全列举):

核心服务层和用户界面的应用程序没有直接联系,但是它们建立在内核和核心系统层上,为APP提供诸如数据处理、字符串控制、封装网络库等核心支持。包括以下组件和框架(不完全列举):

媒体层负责音频、图像等多媒体文件的处理,2D 和 3D 图像的渲染,各种动画支持。

图形用户界面层包括设计和用户交互的 UI、响应用户操作、管理程序的行为。

相关

  • 开普勒7b开普勒7b是开普勒太空望远镜首次发现的5颗太阳系外行星之一,于2010年1月4日公布。它位于天琴座,环绕恒星开普勒7公转。。开普勒7b的半径是木星的1.478倍,质量是木星的0.433倍。
  • 帕斯卡·欧吉尔帕斯卡·玛格丽特·塞西尔·克劳德·科莱特·尼古拉斯(英语:Pascale Marguerite Cécile Claude Colette Nicolas,1958年10月25日-1984年10月26日),以艺名帕斯卡·欧吉尔(英语:Pasca
  • 尿液滞留尿潴留(英语:renal retention或 urinary retention),又称尿滞留、尿液滞留,是膀胱内的尿液无法排出的状况,最常见的原因是良性前列腺增生症。正常成年男性的膀胱涨满时,容积约为500
  • 窦偁窦偁(925年-982年),字日章,宋朝初年蓟州渔阳县(今天津市蓟州区)人。窦禹钧的儿子,窦仪之弟,宋太宗时参知政事。后汉乾祐二年(949年)窦偁中进士。后周广顺初年,补单州(治所在今山东省单县)
  • 水石榕水石榕(学名:,英文名称:),别称海南胆八树及水柳树等,为杜英科杜英属 植物,分布于中国海南岛、广西、云南及越南等,喜生于河边及低湿地。水石榕的名称可能使人误会此品种为桑科榕属植
  • 艾尼斯·曼苏尔艾尼斯·曼苏尔(阿拉伯语:أنيس منصور‎,1924年8月18日-2011年10月21日),埃及作家。曾长期担任《十月》杂志主编。1924年8月18日生于曼苏拉。1947年毕业于开罗大学,获哲学
  • 美国队长 (电影)《美国队长》(英语:)是一部于2011年上映的美国超级英雄电影,根据漫威漫画旗下超级英雄美国队长故事改编,漫威影业制作,派拉蒙影业负责出品及发行。该片为漫威电影宇宙系列中的第5
  • 坛蜜坛蜜(1980年12月3日-),本名、旧芸名为斋藤支静加,是日本演员和写真偶像,因曾演出数部成人电影,故被称为新一代“SM女王”、“情色女王”,所属艺能事务所是FITONE。于2013年4月11日之
  • 万县地区万县地区为中国四川省已经撤销的一个地区,为今天重庆市下辖的万州区、开州区、忠县、云阳县、奉节县、巫山县、巫溪县等地。
  • 大杨创世大杨创世(英语:Dayang Group),全名大连大杨创世股份有限公司,是一家大型服装制造商,总部设在中华人民共和国辽宁省大连市。其董事长兼CEO是李桂莲女士。在1979年创立,于普兰店市杨