macOS结构

✍ dations ◷ 2025-02-27 09:30:31 #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、响应用户操作、管理程序的行为。

相关

  • 脓疮脓疡(拉丁语:abscessus; 德语:Abszess; 法语:Abcès; 英语:Abscess)又称作脓疮、脓肿。指的是在身体组织中蓄积的脓。接近体表的脓疡会有红、肿、热、痛等症状,触诊病灶时感觉其内
  • 全身性发炎反应症候群全身炎症反应综合症(Systemic inflammatory response syndrome ,SIRS)是一个影响到整个身体的炎症反应。它是身体的应激性反应,是机体应对一种感染性或非感染性因素的方式。虽
  • 丹麦裔丹麦人(丹麦语:danskere,英语:Danes)可以指:目前丹麦本国约有500万的丹麦人,美国约有150万丹麦人,加拿大则有约20万。另外在德国的南石勒苏益格,还有50000左右的丹麦人,占当地人口
  • 第42届金马奖第42届金马奖,2005年华语电影界的年度盛事之一,表扬2005年度杰出电影与电影工作者。颁奖典礼于2005年11月13日晚间7时于基隆文化中心举行,主持人为胡瓜、侯佩岑。本届周星驰自
  • 李崇道李崇道 (1923年10月2日-2016年5月15日),台湾兽医学家,原籍苏州,自幼随父母迁居上海,自东吴大学附属中学毕业,旋即进入东吴大学理学院化工组攻读。珍珠港事件后,曾借读于国立浙江大学
  • 柳权烈柳权烈,韩国摄影师。主要是韩国综艺节目《Running man》主持刘在锡的跟拍摄影师。他原本是另一位前主持Gary的跟拍摄影师,但后因为在第二集跟拍时跟错了刘在锡所以才误打误撞
  • 差分信号差分传输是一种信号传输的技术,区别于传统的一根信号线一根地线的单端信号传输(英语:Single-ended signaling),差分传输在这两根线上都传输信号,这两个信号的振幅相同,相位相反。在
  • 克莱韦廷德峰坐标:71°59′S 7°37′E / 71.983°S 7.617°E / -71.983; 7.617克莱韦廷德峰(英语:Klevetind Peak)是南极洲的山峰,属于菲尔希纳山脉的一部分,处于克莱韦坎彭山以南,海拔高度2,91
  • 马蒂亚斯·阿隆索马蒂亚斯·达米安·阿隆索·瓦莱约(西班牙语:Matías Damián Alonso Vallejo,1985年4月16日-),是一名乌拉圭足球运动员,司职前锋,现效力于乌拉圭足球甲级联赛球队尤文图德。阿隆索
  • 李文彦李文彦(1929年-2020年12月12日),男,河北高阳人,中国经济地理学家,曾任中国科学院地理科学与资源研究所研究员。