许多朋友知道麦克·OS X,但他们不太了解它的组成部分。本文将从底层介绍macOS的几个重要组件。
映像许可证:抄送-服务协议3.0
说到苹果电脑(OS X的苹果OS X),我们不得不提到它的前身——下一步。
前任
1985年,乔布斯内部斗争失败,离开苹果,创建了NeXT。在NeXT中,他的团队创建了一个类似Unix的面向对象操作系统——NeXtStep。1996年乔布斯回到苹果后,这个操作系统进阶到Classic Mac OS来到苹果,最终取代了原来的Classic Mac OS。
照片许可:合理使用
达尔文操作系统
达尔文是macOS(或Core OS)的基础部分,也是一个开源的类似Unix的操作系统。它由两部分组成:XNU内核和Unix工具。
由于开源代码的特点,一些组织正在使用苹果发布的达尔文源代码进行二次开发,比如PureDarwin项目。
XNU
我们通常说macOS的内核是“达尔文”,其实这是一个不严谨的说法,因为达尔文不仅包括内核,还包括其他东西。严格来说,macOS的内核是XNU。
在这一点上,以题外话的方式,苹果有一个矛盾。虽然macOS通过了Unix认证,但是XNU的全称是XNU的不是Unix,就像GNU格式一样。顾名思义,XNU不是Unix。
XNU是macOS的核心部分。它是一种混合内核,结合了微内核和宏内核的特点。它包括三个部分:马赫,平衡计分卡和输入输出套件。
马赫
mach最初是一个微内核,XNU中的Mach来自OSF MK 7.3(开放软件基金会Mach内核),负责CPU调度、内存保护等功能。它是macOS内核最重要的部分,XNU中的大部分代码都来自于它,macOS中的可执行文件也是mach-o格式。
加州大学伯克利分校软件(Berkeley Software Distribution)
XNU包含一个修改后的BSD,负责进程管理、Unix文件权限、网络栈、虚拟文件系统、POSIX兼容性。这就是为什么macOS符合单一的Unix规范。
输入输出套件
I/O Kit是XNU内核中的开源框架,可以帮助开发者为苹果的macOS和iOS操作系统编写设备驱动程序代码。I/O Kit框架是从NeXTSTEP的DriverKit演变而来的,与Mac OS 9的设备驱动框架或BSD没有相似之处。
命令行工具
除了内核之外,达尔文还包括一些Unix工具,有些是苹果开发的,有些是第三方开发的,比如FreeBSD项目、GNU项目、Apache。
先说它的初始化程序,launchd。
Launchd由苹果公司开发,是一个统一的服务管理框架,用于启动、停止和管理macOS中的守护进程、应用程序、进程和脚本。因为支持多线程,所以高于传统的Unix初始化器SysVinit。launchd同时被移植到FreeBSD平台,其设计思想也被已经成为Linux发行版主流系统初始化器的systemd借鉴。
核心基础
Core Foundation(也叫CF)是macOS和iOS中的一个C应用编程接口(API),是低级例程和包装函数的混合。
石英
MacOS毕竟是一个类似Unix的操作系统。一个类似Unix的操作系统想要图形化操作,就必须有一个图形化的框架。在Linux上,我们有X11和Wayland,在macOS上,我们有Quartz。它是一个基于PDF技术的图形框架。
作为一个类似unix的,不可能和X11不兼容。如果想在macOS中运行X11应用,也可以了解一下。有一个开源项目叫XQuartz。
可可粉
Cocoa是苹果为Mac OS X创建的一个原生面向对象API,是Mac OS X上的五个API之一(另外四个是Carbon、POSIX、X11和Java)。
苹果的面向对象开发框架用于生成Mac OS X应用。主要的开发语言是Objective-c,它是c. Cocoa的超集,从1989年9月的NeXTSTEP 1.0开始。当时没有Foundation框架,只有动态运行时,叫kit,最重要的是AppKit。1993年,NeXTSTEP 3.1被移植到英特尔、SPARC和惠普的平台上,首次加入Foundation。同时,孙和NeXT合作开发了OpenStep,它也可以在Windows系统上运行。
据说可可API中还有很多以NS开头的API。NS是什么?NS,下一步也。
Aqua UI
MacOS桌面环境,类似于Linux中的GNOME。
然而,并非所有的苹果OS X都是Aqua UI。在《狂想曲》中,苹果OS X的早期测试版,使用了经典的苹果操作系统界面。
好了,已经介绍了macOS的一些重要组件。感谢阅读。
部分信息来自维基百科中的Cocoa词条和英文维基百科中的macOS Darwin词条。本文的写作也得到一些朋友的帮助,在此表示感谢。
1.《macosx IT之家:macOS结构知多少,一看就懂了》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《macosx IT之家:macOS结构知多少,一看就懂了》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guonei/808630.html