vlambda博客
学习文章列表

Macos 和 Linux 内核的区别是什么

有些人可能认为 macOS 和 Linux 内核之间有相似之处,因为它们可以处理相似的命令和相似的软件。有些人甚至认为苹果的 macOS 是基于 Linux 的。事实上,这两个核心都有非常不同的历史和特征。今天,我们来看看 macOS 和 Linux 内核之间的区别。


Macos 内核历史

我们将从 macOS 内核的历史开始。1985年,史蒂夫 · 乔布斯因为与 CEO 约翰 · 斯卡利和苹果董事会闹翻而离开苹果。然后,他创办了一家新的计算机公司,名为 NeXT。乔布斯想要一台新电脑(带有新的操作系统)快速上市。为了节省时间,NeXT 团队使用来自卡内基梅隆大学的 Mach 内核和 BSD 代码库的一部分创建了 NeXTSTEP 操作系统。

Next 从未在财务上取得成功,部分原因在于乔布斯像在苹果一样花钱的习惯。与此同时,苹果曾多次尝试更新其操作系统,甚至与 IBM 合作,但均以失败告终。1997年,苹果以4.29亿美元收购了 NeXT。作为交易的一部分,史蒂夫 · 乔布斯回到苹果,NeXTSTEP 成为 macOS 和 iOS 的基础。

Linux 内核的历史

与 macOS 内核不同的是,Linux 并不是商业努力的一部分。相反,它是在1991年由芬兰计算机科学专业的学生 Linus Torvalds 发明的。最初,内核是按照李纳斯计算机的规格编写的,因为他想利用其新的80386处理器。李纳斯在1991年8月将他的新内核的代码发布到了 Usenet 上。很快,他就收到了来自世界各地的代码和特性建议。第二年,Orest Zborowski 将 x Window 系统移植到 Linux 上,使其能够支持一个 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、内存、行程间通讯、设备驱动程序、文件系统和系统服务器调用。

Mac 和 Linux 内核的区别

Macos 内核(XNU)比 Linux 存在的时间更长,它基于两个更老的代码库的组合。另一方面,Linux 是更新的,从头开始编写,并且在更多的设备上使用。

【翻译自https://itsfoss.com/mac-linux-difference/】