【Linux && Mac OS】Mac OS 和 Linux 的内核有什么区别

本文主体部分转自知乎账号“Linux中国”,转载部分已经明确标识,原文链接:https://zhuanlan.zhihu.com/p/40187660

  由于专业缘故(笔者本科专业为“计算机科学与技术”),接触并长期使用过当前主流的三种桌面操作系统:Windows、Mac OS和Linux(深度使用了Ubuntu和Deepin Linux两个系统)。Windows自不必多说,小时候第一台PC就是搭载Windows系统,一直从Windows xp到如今的Windows 10。由于大学阶段的学习,才系统地接触和学习Linux,深度使用过Ubuntu和Deepin Linux两款发型版。现目前,这三款操作系统都在笔者的学习工作生活中扮演着重要的角色,Windows用于实验室台式电脑,作日常研究、学习,编码用;Ubuntu用于一台较老旧的Dell笔记本,主要用于编码和开发;Mac用于对便携和续航有要求的使用环境。
  对于Windows和其他两款操作系统的区别,其实从桌面UI、操作方式等方面就可见一斑。对于Linux和Mac OS两款系统,由于其具有相似的操作方式、使用习惯、桌面设计(如Dock栏)等,很多刚接触的读者可能对它们的区别不是很清楚。甚至常听到“Linux和Mac OS拥有相同内核,都是Unix发展过来的”类似说法。
  刚好最近刷知乎发现一篇文章比较简洁地说明了Linux和Mac OS的区别,内容比较简洁易懂,分享给大家。

  以下为“Linux中国”原文:


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

Mac OS 内核历史

  我们将从 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 已经慢慢成长并增加了不少功能。这不再是一个学生的小型项目。现在它运行在世界上大多数的计算设备和超级计算机上。

Mac OS 特性

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 OS 的区别

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

  如果您发现这篇文章很有趣,请花一点时间在社交媒体,黑客新闻或 Reddit 上分享。


via: https://itsfoss.com/mac-linux-difference/

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

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

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值