Linux kernel 和 macOS Kernel 都是基于 UNIX 的,有人说 macOS 就是「Linux 换个了壳」,也有人说由于命令和文件系统层次结构的相似性,Linux 和 Mac 两者兼容。本文系统极客就向大家简要介绍,Linux 内核和 Mac 内核之间的差异和相似之处。
macOS内核
1985 年,由于与 CEO(John Sculley)和苹果公司董事会意见不合,Steve Jobs 离开苹果成立了一家名为 NeXT 的新电脑公司。Steve Jobs 希望快速发布(带有新操作系统的)新计算机,为了节省开发时间和发布周期,NeXT 团队使用了 Carnegie Mellon 大学的 Mach 内核和部分 BSD 代码库来创建 NeXTSTEP 操作系统。
也许 Steve Jobs 继承了在苹果公司大手笔花钱的习惯,NeXT 在财务上一直没能取得巨大成功。苹果此时也曾多次试图(甚至与 IBM 合作)更新其操作系统,1997 年以 4.29 亿美元收购了 NeXT。作为收购交易的一部分,Steve Jobs 也重新回到了 Apple,NeXTSTEP 也因此成为了 macOS 和 iOS 的基础。
Linux内核
与 macOS 内核不同,Linux 不是因为商业目的而创建。相反,它是由计算机学生 Linus Torvalds 于 1991 年作为开源项目创建。最初,Linus Torvalds 为了用上他的新 80386 处理器,所以才开始写 Linux 内核。从 1991 年 8 月在网上发布了他的新内核代码开始,很快就收到了来自全球的代码和资源建议。第二年 Orest Zborowski 将 X Windows 移植到了 Linux,也让 Linux 很快就支持了图形用户界面。
macOS内核资源
macOS 内核官方称为 XNU,根据 Apple 的官方 Github 页面,XNU 是将 Carnegie Mellon 大学开发的 Mach 内核与 FreeBSD 和 C++ 组件结合起来,的混合内核。代码的 BSD 子系统部分 通常在微内核系统中作为「用户空间」服务器实现,Mach 部分则负责低级工作,例如:多任务、受保护的内存、虚拟内存管理、内核调试和控制台 I/O。
与 Linux 不同的是,XNU 内核允许其中的一部分(停止下来)进行维护,而另一部分则继续工作,这也成就了 macOS 内核的稳定性。
Linux内核资源
macOS 内核结合了微内核与 Mach 和 BSD 这样的单片内核的功能,而 Linux 则只是一个单片内核。单片内核负责管理 CPU、内存、进程间通信、设备驱动程序、文件系统和系统服务调用,也就是说它在完成所有事情时都不进行细分。
很多人认为单片内核除了速度慢之外还更容易出错,这让 Linus Torvalds 和其它开发人员引起了很多议论,而 Linux 每年的表现都恰恰与之相反,而且可以向混合内核方向进行优化。此外在 RedHat 的帮助下,Linux Kernel 已经拥有了 Live Patch 能力,允许实时维护而无需重启。
macOS(XNU)和Linux内核之间的差异
- macOS Kernel(XNU)存在时间比 Linux Kernel 长,并且基于「久远」代码库的组合,这非常有利于稳定性。
- Linux Kernel 代码更新,属于从头开始编写并已经在许多设备上使用。
- 分别为 macOS 与 Linux 编写的驱动程序不能互用
- 比较奇特的是 Linux 有一系列 macOS 守护进程,包括 CUPS 打印服务。
最新评论
关闭「安全启动」或改用 grub 之后。通过 grub 启动 Windows 而不使用 UEFI 的 Windows Boot Manager,「设备加密」会认为启动路径不可信,就会彻底隐藏。
应用安装失败,错误消息: 从 (Microsoft.NET.Native.Framework.2.2_2.2.29512.0_x64__8wekyb3d8bbwe.Appx) 使用程序包 Microsoft.NET.Native.Framework.2.2_2.2.29512.0_x64__8wekyb3d8bbwe 中的目标卷 C: 执行的部署 Add 操作失败,错误为 0x80040154。有关诊断应用部署问题的帮助,请参阅 http://go.microsoft.com/fwlink/?LinkId=235160。 (0x80040154)
之前装双系统时关了BitLocker,后来找不大设备加密了(原本有的)是怎么回事
补充一下哈,如果大家想看得更为完整。可以输入: slmgr.vbs -xpr 查询Windows是否永久激活 slmgr.vbs -dli 查询到操作系统版本、通过激活的渠道、后五位产品密钥、许可证状态等信息 slmgr.vbs -dlv 查询所有Windows的激活信息,包括:激活ID、安装ID、激活截止日期等信息