4.6 KiB
macOS 和 Linux 内核有什么区别
有些人可能会认为 macOS 和 Linux 内核之间存在相似之处,因为它们可以处理类似的命令和类似的软件。有些人甚至认为 Apple 的 macOS 是基于 Linux 的。事实是,两个内核有着截然不同的历史和特征。今天,我们来看看 macOS 和 Linux 的内核之间的区别。
macOS 内核的历史
我们将从 macOS 内核的历史开始。1985 年,由于与首席执行官 John Sculley 和董事会不和,Steve Jobs 离开了 Apple。然后,他成立了一家名为 NeXT 的新电脑公司。Jobs 希望将一款新计算机(同时带有新操作系统)快速推向市场。为了节省时间,NeXT 团队使用了卡耐基梅隆大学的 Mach 内核 和部分 BSD 代码库来创建 NeXTSTEP 操作系统。
NeXT 从来没有取得过财务上的成功,部分归因于 Jobs 花钱的习惯,他就像还在苹果公司一样。与此同时,Apple 曾多次试图更新其操作系统,甚至与 IBM 合作,但从未成功。1997年,Apple 以 4.29 亿美元收购了 NeXT。作为交易的一部分,Steve Jobs 回到了 Apple,同时 NeXTSTEP 成为了 macOS 和 iOS 的基础。
Linux 内核的历史
与 macOS 内核不同,Linux 并非源于一次商业尝试而创建。相反,它是由芬兰计算机科学专业学生 Linus Torvalds 于 1991 年创建的。最初,内核是按照 Linus 的计算机的规格编写的,因为他想利用其新的 80386 处理器(的特性)。Linus 于 1991 年 8 月在 Usenet 上发布了他的新内核代码。很快,他就收到了来自世界各地的代码和功能建议。次年,Orest Zborowski 将 X Window 系统移植到 Linux,使其能够支持图形用户界面。
在过去的 27 年中,Linux 已经慢慢成长并增加了不少功能。这不再是学生的小型项目。现在它运行在世界上大多数的计算设备和超级计算机上。不错!
macOS 内核的特性
macOS 内核被官方称为 XNU。这个首字母缩写词代表“XNU 不是 Unix”。根据 Apple 的 Github 页面,XNU 是“将卡耐基梅隆大学开发的 Mach 内核和 FreeBSD 组件整合而成的混合内核,加上用于编写驱动程序的 C++ API”。代码的 BSD 子系统部分“在微内核系统中通常实现为用户空间的服务”。Mach 部分负责底层工作,例如多任务、内存保护、虚拟内存管理、内核调试支持和控制台 I/O。
Linux 内核的特性
虽然 macOS 内核结合了微内核(Mach)和单内核(BSD)的特性,但 Linux 只是一个单内核。一个单内核负责管理 CPU、内存、进程间通信、设备驱动程序、文件系统和系统服务调用(译注:原文为system server calls,但结合linux内核的构成,译者认为这里翻译成系统服务调用更合适,即system service calls)。
用一句话总结Linux和Mac的区别
macOS 内核(XNU)比Linux历史更悠久,并且基于两个甚至更旧代码库的结合;另一方面,Linux 新一些,是从头开始编写的,并且在更多设备上使用。
如果您发现这篇文章很有趣,请花一点时间在社交媒体,黑客新闻或Reddit上分享。
via: https://itsfoss.com/mac-linux-difference/