TranslateProject/translated/tech/20180704 What is the Difference Between the macOS and Linux Kernels.md
2018-07-19 12:30:32 +08:00

4.6 KiB
Raw Blame History

macOS 和 Linux 内核有什么区别

有些人可能会认为 macOS 和 Linux 内核之间存在相似之处,因为它们可以处理类似的命令和类似的软件。有些人甚至认为 Apple 的 macOS 是基于 Linux 的。事实是,两个内核有着截然不同的历史和特征。今天,我们来看看 macOS 和 Linux 的内核之间的区别。

macOS vs 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/

作者:John Paul 选题:lujun9972 译者:stephenxs 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出