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 打印服务。
最新评论
Microsoft.WindowsStore只有22507,没有22504,22507下载的时候找不到框架
经过测试,是可行的。感谢分享。
1.你贴的方法我没测试,如果有效,也只适用于个人或小规模使用,不具备普遍性。 2.根据微软最佳实践,是建立一个本地帐户专门用来远程连接。 3.在域环境中,不存在使用 Microsoft 帐户的情况。
关于rdp无法连接win11微软账户的问题 有很简单的解决办法 不需要退出微软账户或者重置之类的 在中文互联网搜索到的教程内容一般是使用MicrosoftAccount\邮箱作为用户名 密码填微软账户密码然后链接 但是这有个问题就是如果服务端(被控端)本身无缓存时将无法链接 改用英文在google搜索后发现了这样一篇微软社区问答 https://answers.microsoft.com/en-us/windows/forum/all/remote-desktop-not-working-with-microsoft-account/71f0c323-688a-4c97-8740-e80eb31ae11d 打开cmd终端后输入runas /u:MicrosoftAccount\你的邮箱 winver并回车 在出现类似输入MicrosoftAccount\xxx@xxx.com:的密码的文本时输入你的微软账户密码并回车(密码不会显示) 如果密码正确 稍后你将会看到一个Windows关于信息框 关掉它既可 这条命令的意思是 以xxx@xxx.com的身份运行winver程序 在完成后它即可以在本地生成关于该账户信息的缓存 接下来即可在客户端(控制端)输入对应地址链接 用户名为MicrosoftAccount\你的邮箱 密码为微软账户密码 如果一切顺利 在建立连接后 即可弹出证书验证框(如果以前从未链接此计算机) 确定即可 稍等即可进入远程桌面 对于伸手不看理论党的直白概括: 被控端: 打开运行框输入cmd回车 在cmd输入runas /u:MicrosoftAccount\你的邮箱 winver并回车 在出现新的文本时输入微软账户密码并回车(密码不会显示的) 关闭新弹出的窗口及cmd 控制端: 打开rdp客户端 输入计算机的地址回车 用户名:MicrosoftAccount\你的邮箱 密码:微软账户密码 回车后保存证书即可链接 您好,这是我转自B站的评论,不知道这个方法是否具有普遍性来辅助我们用同一个账号进行远程控制