0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

macOS和Linux的内核之间的区别详解

Linux爱好者 来源:网络整理 作者:工程师陈翠 2018-07-23 15:04 次阅读

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

macOS 内核的历史

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

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

Linux 内核的历史

与 macOS 内核不同,Linux 的创建并非源于商业尝试。相反,它是由芬兰计算机科学专业学生林纳斯·托瓦兹于 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
    +关注

    关注

    87

    文章

    10990

    浏览量

    206730
  • MacOS
    +关注

    关注

    0

    文章

    196

    浏览量

    17231

原文标题:macOS 和 Linux 的内核有什么区别

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux内核地址映射模型与Linux内核高端内存详解

    Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间
    发表于 05-08 10:33 3329次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>地址映射模型与<b class='flag-5'>Linux</b><b class='flag-5'>内核</b>高端内存<b class='flag-5'>详解</b>

    浅谈Linux发行版之间的联系和区别

    前言:现如今Linux的发行版本多之又多,其大家族可谓是“枝繁叶茂,子孙满堂”。那么它们各版本之间有着怎样的联系和区别呢?Linux发行版之间
    发表于 07-08 08:25

    Linux内核结构详解

    前面的讨论的抽象结构显示了各个子系统之间只有很少的依赖关系,但是具体结构的5个子系统之间有高度的依赖关系。我们可以看出,具体结构中的很多依赖关系并没有在抽象结构中出现。Linux内核
    发表于 07-11 16:59

    Linux内核抢占和用户抢占的概念和区别

    本文详解Linux内核抢占实现机制。首先介绍了内核抢占和用户抢占的概念和区别,接着分析了不可抢占内核
    发表于 08-05 08:18

    详解Linux内核抢占实现机制

    本文详解Linux内核抢占实现机制。首先介绍了内核抢占和用户抢占的概念和区别,接着分析了不可抢占内核
    发表于 08-06 06:16

    Linux设备驱动开发详解:基于最新的Linux 4.0内核

    Linux设备驱动开发详解:基于最新的Linux 4.0内核
    发表于 08-31 12:29

    linux2.6内核设备驱动模型精华

    linux 内核驱动部分详解
    发表于 04-27 10:43 20次下载

    Linux设备驱动开发详解》第4章、Linux内核模块

    Linux设备驱动开发详解》第4章、Linux内核模块
    发表于 10-27 14:15 0次下载
    《<b class='flag-5'>Linux</b>设备驱动开发<b class='flag-5'>详解</b>》第4章、<b class='flag-5'>Linux</b><b class='flag-5'>内核</b>模块

    Linux内核配置系统详解

    随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 L
    发表于 11-01 15:45 3次下载

    linux内核rcu机制详解

    Linux内核源码当中,关于RCU的文档比较齐全,你可以在 /Documentation/RCU/ 目录下找到这些文件。Paul E. McKenney 是内核中RCU源码的主要实现者,他也写了很多RCU方面的文章。今天我们而主
    发表于 11-13 16:47 8526次阅读
    <b class='flag-5'>linux</b><b class='flag-5'>内核</b>rcu机制<b class='flag-5'>详解</b>

    MacOSLinux有什么区别

    MacOS是Unix内核的桌面版操作系统,而Linux是一套免费使用和自由传播的类Unix操作系统,两者面向的用户也不一样,对于那些习惯GUI的用户,会感觉mac更人性化一些,对于习惯Shell的用户,
    发表于 05-12 17:09 4293次阅读

    Linux内核GPIO操作函数的详解分析

    本文档的主要内容详细介绍的是Linux内核GPIO操作函数的详解分析免费下载。
    发表于 01-22 16:58 28次下载

    windows与macos发展与区别精品

    windows与macos发展与区别精品(通信电源技术2019第七期)-windows与macos发展与区别精品                
    发表于 09-24 10:15 3次下载
    windows与<b class='flag-5'>macos</b>发展与<b class='flag-5'>区别</b>精品

    Linux 是操作系统还是内核

    内核是每个操作系统的中心。这不仅仅是 Linux 的事情。Windows 和 macOS 也有内核
    发表于 03-15 10:05 835次阅读

    ubuntu和linux区别

    Ubuntu和Linux是两个相关但不完全相同的概念,它们之间有着一些区别。在开始深入讨论Ubuntu和Linux之间
    的头像 发表于 11-27 17:06 884次阅读