导读 | 数周前,开源软件爱好者 Eric S Raymond 提出的观点引发热议,他认为微软应该在 Linux 内核基础上重构 Windows。他认为目前个人电脑业务持续下滑,Windows 早已不再是微软的支柱业务,通过重构能够实现利润最大化。 不过,曾参与 Windows Subsystem for Linux 的 Ubuntu 移植开发的 Hayden Barnes 对此持反对观点,认为微软不会基于 Linux 重构 Windows。 |
Hayden Barnes 是游走在微软和 Linux 社区之间的知名开发者,曾帮助 Windows Subsystem for Linux(WSL)上推进 Ubuntu 开发工作。因此他能够和很多 Linux 开发人员、开源项目人员、社区成员和微软员工进行交流。而且,他还作为 MVP (微软最有价值专家)参与微软产品和策略的各种简报会。
对于近日流行的“微软应该迁移 Windows 系统核心至 Linux 内核”说法,他表示从产品和工程角度来说微软在任何情况下都不可能这么做。
在说明具体原因之前,Barnes 认为在 Slashdot 和 Hacker News 上不断出现这个观点的原因:
对此,Barnes 认为微软不会基于 Linux 内核来重构 Windows 理由如下
Windows 系统中的 NT 内核提供了一定程度的向后兼容、长期支持和驱动程序可用性,而 Linux 还在不断完善中。如果想要基于 Linux 重构,这必然需要耗费数百万美元。微软有很多付费客户可以继续按原样支持 Windows,某些已经有数十年了。
基于 Linux 重构 Windows,并不像 Raymond 所说的那样能够帮助微软节省开支。很多盈利公司的存在都是为现有的操作系统而服务的。即便是最终基于 Linux,也可能会导致不良的内核单一化。
Windows 和 macOS 的竞争,才能让 Linux 变成更好的操作系统。而更理想的结果是开源创新能够在所有操作系统之间传播,Windows 和 Linux 的开放源码贡献者能够共享两个生态系统的精华。
目前尚不清楚如果 Windows 用户空间从 NT 迁移到 Linux 内核,是否能够保持良好的兼容性,特别是那些拥有关键任务应用、付费获取的东西。
Windows 没有像 Linux 那样严格区分内核空间和用户空间。NT 内核大约有 400 个已记录的 syscalls 以及大约 1700 个已记录的 Win32 API 调用。对于重新部署从而确保 Windows 开发者和他们工作达到预期的兼容性这是非常庞大的工作量,这完全超过了 Wine 提供的修正贡献。
Linux 在 arm64 上只有 313 个 syscalls,而另一个原因是微软已经从 WSL 1 中的 syscall 翻译层(translation layer)转换为 WSL 2 中的虚拟化内核,因此重新实现利用 Linux ABI 的数十种非标准方式是非常痛苦的事情。为微软拥有的 Linux 上的SQL Server 提供一个 NT 相关的兼容层是一回事,为其他数百万开发者的应用提供保证是另一回事。
近年来,微软在 Windows 上倾注的人力物力已经无法计算。微软在 Windows 10 的可用性、新功能、性能改进等多方面进行了优化投资,并取得了回报。在这些改进的基础上,通过和 OEM 厂商的合作,以及推出 Surface 品牌,已经帮助振兴了 PC 市场。
微软一直在努力使 Windows 成为一个优秀的开发平台,其项目包括 Windows Terminal、PowerToys、Windows Subsystem for Linux 和 Visual Studio 2019。Windows Insider 项目也非常成功。
目前,Windows 是包括 Surface 在内诸多产品的重要搭载系统,而这也是微软重点耕耘的一项业务。2018年和2020年的内部重组表明,现在 Surface 和 Windows 的未来是密不可分的。Windows 为 Xbox 提供了动力,我们正处于一个主要基于Windows的PC游戏的复苏期。
微软也有 Windows 10X 的想法,这是继 Windows 10 之后的下一个操作系统概念(我认为我们会逐步得到),未来的硬件如 Surface Neo 也在考虑之中。
不需要基于 Linux 重构 Windows,微软也能保持相关性。在放弃移动市场之后,微软已经意识到了设备格局的变化。
微软认识到当前社会人类使用各种系统和各种平台,在系统上有 Android、Ubuntu、iOS、macOS、Chrome OS等等,而且除了 x86 之外还有 ARM。
微软已经表示他们能够适应这个多元的世界,在这些平台上推出了相关产品和服务,同时确保 Windows 在传统领域的竞争力。目前微软正基于 Android 和 iOS 推动移动领域的创新,不仅移植了微软 Office ,而且还包括 Microsoft Launcher 在内的很多优秀应用,而且近期也推出了搭载 Android 系统的 Surface Duo 手机 。
在 Ubuntu 系统上,微软推出了很多针对 Linux 工作站的工具,例如 Code, .NET, Azure tools, Teams, Power, Sysinternals for Linux,以及即将到来的 Edge 浏览器。你想在Azure上运行Ubuntu吗?微软已经为你准备好了,并与Canonical紧密合作,让你获得美妙的体验。
与其关心微软是否基于 Linux 重构 Windows,更有趣的问题是微软在开源上能走多远?我们已经看到了 Windows Terminal, PowerToys 和其他 Windows 组件已经开源。而更合乎逻辑、符合实际的目标是,微软将会继续开放 Windows 组件和 Windows 开发过程,甚至于会超出 Windows Insider 项目范围,为其他系统提供福利。
原文来自:
本文地址://q13zd.cn/linux-windows-restructor.html编辑:王婷,审核员:清蒸github
Linux大全:
Linux系统大全: