社区编辑申请
注册/登录
macOS和Linux的内核有什么区别
系统 Linux MacOS
有些人可能会认为 macOS 和 Linux 内核之间存在相似之处,因为它们可以处理类似的命令和类似的软件。有些人甚至认为苹果公司的 macOS 是基于 Linux 的。事实上是,两个内核有着截然不同的历史和特征。今天,我们来看看 macOS 和 Linux 的内核之间的区别。

https://s3.51cto.com/oss/201807/20/1ee9487de5fe3fe691092074ff59004d.jpeg

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

 

macOS 内核的历史

我们将从 macOS 内核的历史开始。1985 年,由于与***执行官 John Sculley 和董事会不和,史蒂夫·乔布斯Steve Jobs离开了苹果公司。然后,他成立了一家名为 NeXT 的新电脑公司。乔布斯希望将一款(带有新操作系统的)新计算机快速推向市场。为了节省时间,NeXT 团队使用了卡耐基梅隆大学的 Mach 内核 和部分 BSD 代码库来创建 NeXTSTEP 操作系统

NeXT 从来没有取得过财务上的成功,部分归因于乔布斯花钱的习惯,就像他还在苹果公司一样。与此同时,苹果公司曾多次试图更新其操作系统,甚至与 IBM 合作,但从未成功。1997年,苹果公司以 4.29 亿美元收购了 NeXT。作为交易的一部分,史蒂夫·乔布斯回到了苹果公司,同时 NeXTSTEP 成为了 macOS 和 iOS 的基础。

 

Linux 内核的历史

与 macOS 内核不同,Linux 的创建并非源于商业尝试。相反,它是由芬兰计算机科学专业学生林纳斯·托瓦兹Linus Torvalds于 1991 年创建的。最初,内核是按照林纳斯自己的计算机的规格编写的,因为他想利用其新的 80386 处理器(的特性)。林纳斯于 1991 年 8 月在 Usenet 上发布了他的新内核代码。很快,他就收到了来自世界各地的代码和功能建议。次年,Orest Zborowski 将 X Window 系统移植到 Linux,使其能够支持图形用户界面。

在过去的 27 年中,Linux 已经慢慢成长并增加了不少功能。这不再是一个学生的小型项目。现在它运行在世界上大多数的计算设备超级计算机上。不错!

 

macOS 内核的特性

macOS 内核被官方称为 XNU。这个首字母缩写词代表“XNU is Not Unix”。根据 苹果公司的 Github 页面,XNU 是“将卡耐基梅隆大学开发的 Mach 内核和 FreeBSD 组件整合而成的混合内核,加上用于编写驱动程序的 C++ API”。代码的 BSD 子系统部分“在微内核系统中通常实现为用户空间的服务”。Mach 部分负责底层工作,例如多任务、内存保护、虚拟内存管理、内核调试支持和控制台 I/O。

 

Linux 内核的特性

虽然 macOS 内核结合了微内核(Mach)和宏内核(BSD)的特性,但 Linux 只是一个宏内核。宏内核负责管理 CPU、内存、进程间通信、设备驱动程序、文件系统和系统服务调用( LCTT 译注:原文为 system server calls,但结合 Linux 内核的构成,译者认为这里翻译成系统服务调用更合适,即 system service calls)。

 

用一句话总结 Linux 和 Mac 的区别

macOS 内核(XNU)比 Linux 历史更悠久,并且基于两个更古老一些的代码库的结合;另一方面,Linux 新一些,是从头开始编写的,并且在更多设备上使用。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2022-06-20 22:37:25

Linux操作系统命令

2022-04-05 11:29:40

Linux安装操作系统

2022-06-15 08:21:49

Linux运维工程师

2022-04-12 08:22:54

Linux内核操作系统

2022-05-23 13:17:32

Linux开源NVIDIA

2022-05-14 08:05:18

Linux内存管理

2017-03-27 18:05:49

Linux内核编译与开发

2022-01-27 23:32:03

2022-05-10 08:49:46

设备驱动Linux

2022-06-01 10:09:39

Linux网络延迟

2022-06-12 12:51:46

iOS 16苹果MacOs

2022-04-01 10:30:29

SignalLinux桌面Fedora

2022-05-18 10:58:36

LinuxKali Linux

2022-06-05 08:12:56

LinuxLinux Lite浏览器

2022-05-05 09:27:31

Linux服务器优化

2022-05-19 13:28:49

Linux桌面

2022-06-10 07:45:09

CentOS国产操作系统

2022-06-06 10:20:59

CPUCPU 使用率CPU 负载

2022-06-14 23:34:10

Linux安全服务器

2014-01-09 15:00:09

同话题下的热门内容

用这些开源工具在 Linux 上编辑 PDF 文件Linux 网络性能的 15 个优化建议Docker Compose:搭建开发环境的好方式在 Linux 上玩电子游戏的三种方式为什么命令行在 Linux 生态系统中如此重要在 Linux 上使用 WineZGUI 运行 Windows 应用和游戏Docker 暴重大安全漏洞:外部网络可直接访问映射到 127.0.0.1 的本地服务Linux 之父发话:Rust 将合并到 Linux 5.20 内核中去

编辑推荐

Linux系统下安装MySQL的步骤详解CentOS与Ubuntu有什么不同?Linux下如何使用minicom USB串口为什么你可能想要略过Ubuntu 17.04?Linux中7个判断文件系统类型的方法
我收藏的内容
点赞
收藏

51CTO技术栈公众号