为何说微软不会基于Linux内核重构Windows
数周前,开源软件爱好者 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 上不断出现这个观点的原因:
● 能够吸引用户点击
● 对于开源和 Linux 倡导者来说,这是一个很早就存在的幻想。
● 目前,Windows 扮演的角色正在发生变化。尤其是当前 Android、iOS、macOS、Chrome OS 和 Ubuntu 都基于 Linux 的世界里
● 伴随着 Linux 在 Azure 和 WSL 的使用率增加,这种合理性正在不断增加。奥弗顿之窗(The Overton Window)已经转移。
对此,Barnes 认为微软不会基于 Linux 内核来重构 Windows 理由如下
1.内核
Windows 系统中的 NT 内核提供了一定程度的向后兼容、长期支持和驱动程序可用性,而 Linux 还在不断完善中。如果想要基于 Linux 重构,这必然需要耗费数百万美元。微软有很多付费客户可以继续按原样支持 Windows,某些已经有数十年了。
基于 Linux 重构 Windows,并不像 Raymond 所说的那样能够帮助微软节省开支。很多盈利公司的存在都是为现有的操作系统而服务的。即便是最终基于 Linux,也可能会导致不良的内核单一化。
Windows 和 macOS 的竞争,才能让 Linux 变成更好的操作系统。而更理想的结果是开源创新能够在所有操作系统之间传播,Windows 和 Linux 的开放源码贡献者能够共享两个生态系统的精华。
2.兼容性
目前尚不清楚如果 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 相关的兼容层是一回事,为其他数百万开发者的应用提供保证是另一回事。
3.微软投入巨大
近年来,微软在 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 也在考虑之中。
4.没有必要
不需要基于 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, PowerShell, Sysinternals for Linux,以及即将到来的 Edge 浏览器。你想在Azure上运行Ubuntu吗?微软已经为你准备好了,并与Canonical紧密合作,让你获得美妙的体验。
与其关心微软是否基于 Linux 重构 Windows,更有趣的问题是微软在开源上能走多远?我们已经看到了 Windows Terminal, PowerToys 和其他 Windows 组件已经开源。而更合乎逻辑、符合实际的目标是,微软将会继续开放 Windows 组件和 Windows 开发过程,甚至于会超出 Windows Insider 项目范围,为其他系统提供福利。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
云计算数据管理将为托管服务供应商提供数据保护
著名的美国心理学家亚伯拉罕·马斯洛(Abraham Maslow)在1943年发布其开创性的理论。而在将近80年之后,马斯洛的需求层次理论仍然适用。他提出了这样一种观念,即人们受到五种基本需求类别的驱使。首先是生理需求,然后是安全需求、爱护需求、自尊需求以及自我实现需求(后来扩展到包括认知需求和审美需求)。 人类一旦满足了较低的需求,就会致力于满足下一个需求。而在今年年初发生冠状病毒疫情之后,许多远程工作人员基本都将“Wi-Fi”作为基本需求。而现在很多人需要面对疫情这一现实,因为其基本的安全保护需求受到挑战,大多数人都感到失控和无助。实际上,几乎所有人都受到疫情的影响:工作受到影响,远离家人和朋友,并且时刻担心冠状病毒对自己的心理、身体健康以及经济方面带来的不利影响。 IT领导者面临的五个数据管理挑战 但是,除了冠状病毒疫情及其后果如何影响人们的生活之外,人们在工作层次的需求也受到了影响。工作环境发生改变,很多人现在通过在家远程线上工作而不是去办公室和工厂工作。由于人们在家上网远程工作更容易受到黑客的攻击,数据和隐私安全受到严重威胁;而员工与同事和客户的联系主要是通过网络进行的。 为...
- 下一篇
调查:新冠疫情下全球七成企业渴望“零信任架构”
根据Forrester周三发布的最新报告《领导者现在致力于零信任》在新冠疫情全球大流行期间,超过一半的全球组织遭受了数据泄露,更多的企业表达了强烈愿望和需要转向零信任架构来增强安全性。 根据对300多家中型和大型企业的全球安全决策者的调查,它突出显示了收入和计划(64%)、客户参与度(53%)和向分布式工作的转变(52%)是2020年迄今受影响最大的三个领域。 尽管大多数受访者声称已经为居家办公(WFH)的员工购买了用于工作的新设备,更新了安全策略并为远程工作人员采用了新的安全工具,但仍有一半以上(58%)遭受数据泄露。三分之一(33%)受基础设施中断的打击,29%则经受了勒索软件的打击。 许多安全主管都承认虚拟专用网是主要瓶颈,导致连接缓慢(46%)。大多数(54%)表示,他们在向远程办公过渡期间一直难以维持这些权利。同时,他们担心人员短缺(80%),暴露于公共互联网的应用和数据(76%)以及对最终用户设备疏于管理(64%)。 他们承认,传统的网络安全工具已不再有效(64%),已被快速迁移到云(80%)的趋势所淹没。 大多数人都认可的一个解决方案是基于“永不信任永远验证”概念的零信任...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS关闭SELinux安全模块
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,8上快速安装Gitea,搭建Git服务器