macOS结构

✍ dations ◷ 2025-01-11 08:08:35 #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、响应用户操作、管理程序的行为。

相关

  • 血管紧张素1型受体血管紧张素受体(英语:angiotensin receptors)是以血管紧张素作为配体的G蛋白偶联受体。它是肾素-血管紧张素系统的重要组成部分。血管紧张素受体主要包括1型受体(angiotensin ty
  • 刀耕火种刀耕火种,或称刀耕火耨、火耕,是一种以砍伐及焚烧林地上的植物来获得耕地的古老农业技术。农民首先会砍伐一个地区的树木及木本植物,待树木干燥后再作焚烧,此举所产生的富含营养
  • 穆赫兰道《穆赫兰大道》(英语:Mulholland Drive)是一部2001年美国新黑色悬疑片,由大卫·林奇执导。大卫·林奇最初为美国广播公司做了一部连续剧的两小时样片,希望能再创《双峰镇》的辉煌
  • 红褐鲤红褐鲤(学名:Cyprinus rubrofuscus)通称为鲤鱼,又名阿穆尔鲤、华南鲤、青鲤等,是鲤科鲤属的一种鱼类,广泛分布于东亚的淡水河流中。本种广泛分布于东亚淡水河系,北起黑龙江、南至红
  • 蒙特塞拉特总理蒙塞拉特岛总理是英国海外领土蒙塞拉特岛的政府首脑,蒙特塞拉特于2010年颁布新宪法,蒙特塞拉特的政府首脑由首席部长改为总理。阿根廷总统 · 安提瓜和巴布达总理 · 巴巴多斯
  • 沈珫苏州《沧浪亭五百名贤像》之沈珫石刻像沈珫(1562年-1622年),字季玉,号懋所,直隶苏州府吴江县(今江苏吴江市)松陵镇人,明朝政治人物。万历二十三年(1595年)进士。旋即以母病乞归。母丧服
  • 王承恩王承恩(1617年-1644年),明末宦官,属太监曹化淳名下,累官司礼监秉笔太监,甲申之变李闯攻入帝都,崇祯帝自缢,他也殉主自尽。南明弘光帝闻之,赐谥忠愍。清朝顺治帝题碑“贞臣为主,捐躯以从
  • 近藤台五郎近藤台五郎,日本足球运动员,前日本国家足球队成员。1927年,他共为日本国家足球队出场2次。
  • 伊莎贝拉·法雷利伊莎贝拉·法雷利(英语:Isabella Ferrari ;1964年3月31日-),是意大利女演员兼电视和喜剧演员,因曾参与演出2013年《绝美之城》饰演Orietta一角而闻名。法雷利有3个孩子,大女儿叫泰瑞莎,于1995年出生,在那之前她曾与Massimo Osti结婚过,这是她第一任丈夫;另外小女儿和儿子分别叫尼娜·德·玛莉亚和乔瓦尼·德·玛莉亚,是她与意大利导演雷纳托·德·玛莉亚的孩子,这是她第二任丈夫。
  • JK 金东昱JK 金东昱(朝鲜语:JK김동욱 ,1975年12月11日-)是一名韩国男歌手。