哈Ha!
在
夏季拍卖会如火如荼的进行中,我们想邀请您讨论我们最近一直在研究的最雄心勃勃的主题之一-Windows和Linux的交互,特别是与
WSL系统的开发有关。 WSL 2即将推出,我们为您简要概述了此子系统中等待我们的功能,以及对Windows和Linux进一步集成的预测。

微软在今年5月宣布,WSL2是Linux上Windows子系统的最新版本,它将在该公司构建的完整Linux内核上运行。
因此,微软第一次将Linux内核包含在Windows中作为其组件之一。 微软还在Windows上引入了命令行,它将扩展PowerShell和WSL的功能。
由Microsoft创建的WSL2的Linux内核和新的Windows命令行都主要吸引开发人员。
咨询公司AT Kearney的数字化负责人Joshua Schwartz说:“这是对抗AWS的最有力的举措。”
微软的未来与PC市场无关,尽管它将继续在这一领域保持稳固的地位。 在云市场中站稳脚跟将变得更加重要,因为云市场的组成部分之一将来可能会成为台式机。
WSL2是做什么的
WSL2是用于Linux的最新Windows子系统基础结构。 它使您可以大大提高文件系统的性能,并提供与系统调用的完全兼容性。
WSL社区的主要要求之一与功能的完善有关。 WSL2具有比WSL多得多的Linux工具,尤其是Docker和FUSE。
WSL2处理密集的文件操作,尤其是git clone,npm install,apt更新和apt升级。 实际的速度提高取决于特定的应用程序以及它与文件系统的交互方式。
早期测试表明,从拉链中解压缩焦油时,WSL2的速度比WSL1快20倍。 在各种项目中使用git clone,npm install和cmake时,该系统的生产率提高了2到5倍。
这将有助于赢得开发人员的信任吗?
Gunner Technology首席执行官Cody Swann表示,从本质上讲,Microsoft寻求通过开发自己的Linux内核版本来支持WSL2进程来获得开发社区的认可和信任。
“除了严格为Windows开发之外,在PC上创建所有其他应用程序(云,移动,Web应用程序)非常不便,这就是为什么开发人员必须以某种方式下载与Windows OS并行的Linux发行版的原因。 微软对此表示认可,并提出了解决方案。
从普通用户的角度来看,引入本机Linux内核不太可能严重影响系统的工作。 但是,在这种情况下,Microsoft服务与Linux操作系统之间就需要进行更紧密的交互。
Swann说,Microsoft的这一举动确实非常有能力,因为它有助于更深入地渗透到开发人员社区中,并积极使用他人开发的产品-即连接到开源。
欢迎使用新的Microsoft
创建和支持“专门用于Windows”的Linux内核的趋势反映了由首席执行官Satya Nadella推动的决定性的开源趋势。 微软与盖茨和巴尔默领导下的情况不同,当时一切都放在专有纠察栅的后面,并且没人考虑过互操作性。
“ Satya已将Microsoft完全转变为一个更现代的平台,并且这种策略取得了可观的回报。 嗨,市值达数万亿美元,”施瓦茨说。
Pund-IT首席分析师查尔斯·金说,微软的两个核心优势是效率和安全性。
他补充说:“通过积极利用自身的重大成就-资源和工具-公司可以向客户保证内核将是最新的,并配备了最新的补丁程序和修补程序,以确保完全的安全性。”
开发者也是赢家
Linux二进制文件使用系统调用执行许多功能,例如,访问文件,请求内存和创建进程。 WSL1依赖于翻译层,该翻译层解释许多这些系统调用,并允许它们与Windows NT内核进行交互。
最难的部分是实现所有系统调用。 由于未在WSL1中完成此操作,因此某些应用程序无法在其中运行。 WSL2引入了许多通常可以在这种环境下工作的新应用程序。
新的体系结构使Microsoft可以比WSL1更快地对Linux内核进行最新的优化。 Microsoft可以更新WSL2内核,而不是重新实施所有限制。
完全开源工具
微软Linux系统事业部项目经理Jack Hammons说,微软自己的Linux内核的开发是Linux系统事业部以及整个微软其他团队多年工作的结晶。
为WSL2提供的内核将是完全开源的,并且Microsoft将发布有关如何在GitHub上构建这样的内核的说明。 该公司将与想要帮助该项目并刺激向上变化的开发商互动。
微软开发人员使用该公司的持续集成和持续交付系统创建了WSL2。 该软件将通过Windows更新系统进行维护,并且对用户完全透明。 内核将保持相关性,并包括最新的稳定Linux分支的所有功能。
为了确保源的可用性,该公司在本地镜像存储库,并不断监视Linux邮件列表中有关安全性问题的内容,并且还与多家支持在公司虚拟环境(CVE)中使用数据库的公司合作。 这样可以确保Microsoft的Linux内核中考虑了最新的Linux更新,并且消除了所有新出现的威胁。
上游变更具有约束力
Microsoft保证所有内核更改都将在上游方向分配-这是Linux哲学的重要方面。 对下游补丁的支持会带来额外的复杂性。 此外,这种做法在自由开发社区中通常不被接受。
积极使用Linux的Microsoft的目标是成为该社区的有纪律成员,并向社区提供所做的更改。 为了获得与长期支持相关的分支机构的稳定性,某些补丁(例如,包含新功能的补丁)只能包含在内核的新版本中,而不能在向后兼容模式下移植到LTS的当前版本中。
当WSL内核源可用时,它们将包含指向一组补丁程序的链接以及源代码中长期运行的稳定部分。 微软希望随着时间的流逝,随着补丁程序在上游方向上的扩展,这个列表将会缩小,并且将添加新的本地补丁程序以支持最新的WSL功能。
更舒适的窗户设计
微软还宣布了即将发布的Windows Terminal的“冬季”版本,这是一个新的应用程序,适用于使用命令行工具和Shell(特别是Command Prompt,PowerShell和WSL)的用户。
Windows终端Windows Terminal 1.0提供了许多设置和配置选项,可以更好地控制终端窗口的设计以及应作为新选项卡打开的Shell /配置文件。
设置将保存在结构化的文本文件中,使它们易于配置和设计您喜欢的终端窗口。
Microsoft停止更新现有的Windows控制台,并从头开始创建一个新的控制台,决定采用一种新的方法。 Windows Terminal可以与现成的Windows Console应用程序并行安装并运行。
如何运作
当Windows 10用户直接启动Cmd / PowerShell / etc时,将触发附加到常规Console实例的进程。 新终端的配置机制允许Windows用户为所有所需的shell /应用程序/工具创建许多配置文件,无论是在PowerShell,命令行,Ubuntu中,还是什至通过SSH连接到Azure或物联网设备。
这些配置文件可以包括它们自己的字体设计和字体大小,颜色主题,背景模糊或透明级别的组合。 另外,用户将能够选择新的等宽字体,从而使终端窗口看起来更现代,更酷。 此字体提供了程序员的连字号,它将在公共领域中进行布局并将存储在其自己的存储库中。
新的Windows命令界面的主要优点是许多选项卡和精美的文本。 支持许多选项卡被认为是开发终端的最流行的要求。 得益于基于DirectWrite / DirectX的渲染引擎,该引擎具有GPU加速功能,因此可以获取精美的文本。
该引擎以字体显示文本图标,字形和特殊字符,包括中文,日文和韩文表意文字(CJK),表情符号,电力线字符,图标和程序员连字。 此外,此引擎显示文本的速度比以前在控制台中使用的GDI快得多。
向后兼容仍然保持顺序,尽管您可以根据需要尝试Windows终端。
时间轴:将会如何
Microsoft将通过Windows 10中的Microsoft Store提供Windows Terminal,并定期对其进行更新。 因此,用户将始终使用最新版本和最新改进-几乎无需付出额外的努力。
微软计划今年冬天推出一个新的终端。 在Microsoft推出Windows Terminal 1.0之后,开发人员将继续处理积压工作中已经保留的许多功能。
Windows Terminal和Windows Console的源代码
已上传到GitHub。
我们将来会期待什么?
如今,Microsoft可能将其自己的Linux内核用于其他目的(例如,开发自己的Linux发行版)的可能性在某种程度上是假设的。
查尔斯·金说,结果可能取决于微软是否可以检测到对此类产品的明显需求,以及这种开发可能带来的商业机会。
他认为,在可预见的将来,该公司将把主要工作集中在确保Windows和Linux的日益紧密的兼容性及其相互补充上。
约书亚·施瓦茨(Joshua Schwartz)认为,在这种情况下,有必要权衡这项工作将进行哪些投资以及其回报是什么。 如果今天的Microsoft是一家非常年轻的公司,它可能会基于Linux进行所有工作。 但是,将Microsoft已经拥有的所有最佳实践移植到当今的本机Linux体系结构上,似乎是一个代价高昂且复杂的项目,几乎没有回报。 Linux爱好者将自己获得Linux,其基本体系结构将保持不变。
当Apple在2000年再次发明Mac OS时,该操作系统是基于BSD Unix,它与Linux更像是DOS。 今天,新版本的Microsoft Windows是专门基于Linux创建的。
也许新的门正在我们面前打开?
微软的Linux内核可能为Windows服务与Linux操作系统之间更紧密的协作铺平道路。 实际上,这些Microsoft的发展证明了一个事实,即Microsoft本身已经了解到,如今几乎没有客户愿意在Windows无处不在的世界中生存。
使用最能满足业务需求和特定实际情况的异构技术和系统要明智得多。
更为重要的战略问题是,此举为微软平台本身带来了哪些新的战略机遇?
微软基于云的生态系统Azure已经为Linux提供了强大的支持。 以前,Windows通过虚拟机很好地支持Linux。
今天发生的根本变化与以下事实有关:现在Linux进程将在Windows内核上本地执行,这意味着从Windows使用Linux的工作要比在虚拟机上快得多。 结果,有可能以工业规模使用Linux的整个工程师层会丰富Azure。