窗外的企鹅:关于WSL2的潜力和前景

嘿哈布尔!

当我们还在热火朝天的时候 夏季大减价,我们想邀请您讨论我们最近一直在研究的最大主题之一 - Windows 和 Linux 的交互,特别是与系统的开发相关的 WSL。 WSL 2 即将推出,以下是该子系统中即将推出的内容的快速概述,以及对 Windows 和 Linux 之间未来集成的预测。

窗外的企鹅:关于WSL2的潜力和前景

今年 2 月,微软宣布 WSLXNUMX(Linux 上 Windows 子系统的最新版本)将在内部构建的完整 Linux 内核上运行。
这标志着微软首次将 Linux 内核作为 Windows 的一个组件。 Microsoft 还在 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 update 和 apt Upgrade。 实际速度的提高取决于特定的应用程序及其与文件系统的交互方式。

第一次测试表明,从 zip 解压 tar 时,WSL2 比 WSL20 快约 1 倍。 当在各种项目中使用 git clone、npm install 和 cmake 时,系统表现出两到五倍的性能提升。

这是否有助于赢得开发商的信任?

Gunner Technology 首席执行官 Cody Swann 表示,从本质上讲,微软正在寻求通过开发自己的 Linux 内核版本来支持 WSL2 进程,从而获得开发者社区的认可和信任。

“除了严格针对 Windows 进行开发之外,在 PC 上创建所有其他应用程序(云、移动、Web 应用程序)都非常不方便,这就是为什么开发人员必须以某种方式与 Windows 操作系统并行启动 Linux 发行版。 微软认识到了这一点并提出了一个解决方案,”他总结道。

从普通用户的角度来看,引入定制的 Linux 内核不太可能对系统产生严重影响。 然而,这为 Microsoft 服务和 Linux 操作系统之间更密切的交互提供了机会。
Swann 表示,微软的这一举措确实非常聪明,因为它有助于更​​深入地渗透到开发者社区,并积极使用其他人正在开发的产品,即连接到开源。

欢迎来到新微软

创建和维护“专门针对 Windows”的 Linux 内核的趋势反映了首席执行官 Satya Nadella 所倡导的强烈开源方向。 微软不再像盖茨和鲍尔默领导下的那样,当时一切都被放在专有的围栏后面,没有人考虑互操作性。

“Satya 已将 Microsoft 彻底转变为一个更加现代化的平台,这一策略已获得丰厚回报。 你好,万亿美元的资本,”施瓦茨说。

Pund-IT 首席分析师 Charles King 表示,微软的两大优势是效率和安全性。

“通过积极利用自己的重要开发成果——资源和工具——该公司可以向客户保证内核将是完全最新的,并配备了最新的补丁和修复程序,以确保完全的安全性,”他补充道。

开发商也受益

Linux 二进制文件使用系统调用执行许多功能,例如访问文件、请求内存和创建进程。 WSL1 依赖翻译层来解释许多这些系统调用并允许它们与 Windows NT 内核交互。

最困难的是实现所有的系统调用。 由于 WSL1 中未完成此操作,因此某些应用程序无法在那里运行。 WSL2 引入了许多在此环境中运行良好的新应用程序。

新架构使 Microsoft 能够比 WSL1 更快地将最新优化引入 Linux 内核。 Microsoft 可以更新 WSL2 核心,而不是重新实施所有限制。

完全开源的工具

微软Linux系统组项目经理杰克·哈蒙斯(Jack Hammons)表示,微软自己的Linux内核的开发是Linux系统组以及整个微软许多其他团队多年工作的结晶。

为 WSL2 提供的内核将完全开源,微软将在 GitHub 上发布有关如何构建此类内核的说明。 该公司将与愿意帮助该项目并推动自下而上的变革的开发商合作。

Microsoft 开发人员使用该公司的持续集成和持续交付系统创建了 WSL2。 该软件将通过Windows更新系统提供服务,并且对用户完全透明。 内核将保持最新并包含 Linux 最新稳定分支的所有功能。

为了确保源可用性,该公司在本地镜像存储库,持续监控 Linux 安全邮件列表的内容,并与多家支持企业虚拟环境 (CVE) 数据库的公司合作。 这可确保 Microsoft 的 Linux 内核保持最新状态并消除任何新出现的威胁。

自下而上的变革成为强制性的

Microsoft 确保所有内核更改都会向上游传播,这是 Linux 理念的一个重要方面。 支持下游补丁会带来额外的复杂性; 而且,这种做法在开源社区并不常见。

作为活跃的 Linux 用户,Microsoft 的目标是成为社区中遵守纪律的成员,并为社区做出贡献。 为了确保与长期支持相关的分支的稳定性,某些补丁(例如包含新功能的补丁)可能仅包含在新版本的内核中,而不会以向后兼容模式移植到当前的 LTS 版本。

当 WSL 核心源可用时,它们将包含一组补丁的链接和源的长期运行稳定部分。 Microsoft 预计随着补丁向上游分发以及添加新的本地补丁以支持新的 WSL 功能,此列表会随着时间的推移而缩小。

更宜人的窗户设计

微软还宣布即将推出冬季版 Windows Terminal,这是一款专为使用命令行工具和 shell(例如命令提示符、PowerShell 和 WSL)的用户而设计的新应用程序。

窗外的企鹅:关于WSL2的潜力和前景

视窗终端

Windows Terminal 1.0 提供了许多设置和配置选项,使您可以更好地控制终端窗口的外观以及应作为新选项卡打开的 shell/配置文件。

设置将保存在结构化文本文件中,以便根据您的喜好轻松配置和设计终端窗口。

微软不再改进现有的 Windows 控制台,而是从头开始创建一个新的控制台,决定采取一种全新的方法。 Windows 终端与开箱即用的现有 Windows 控制台应用程序并行安装和运行。

怎么开动这个

当 Windows 10 用户直接启动 Cmd/PowerShell/等时,会触发附加到常规控制台实例的进程。 新终端的配置引擎允许 Windows 用户为所有所需的 shell/应用程序/工具创建多个配置文件,无论是在 PowerShell、命令提示符、Ubuntu 中,还是在与 Azure 或 IoT 设备的 SSH 连接中。

这些配置文件可以提供自己的设计和字体大小、颜色主题、背景模糊级别或透明度的组合。 此外,用户将能够选择新的等宽字体,使终端窗口看起来更现代、更酷。 该字体包含程序员连字;它将公开提供并存储在自己的存储库中。

新的Windows命令界面的主要优点是许多选项卡和漂亮的文本。 对多个选项卡的支持被认为是终端开发最迫切的要求。 基于DirectWrite/DirectX的渲染引擎,配备GPU加速,获得美丽的文本。

该引擎显示字体中的文本图标、字形和特殊字符,包括中文、日文和韩文表意文字 (CJK)、表情符号、电力线符号、图标和编程连字。 此外,该引擎渲染文本的速度比之前在控制台中使用的 GDI 快得多。

尽管您可以根据需要尝试 Windows 终端,但向后兼容性仍保持完整。

年表:它将如何发生

微软将通过Windows 10中的Microsoft Store提供Windows Terminal并定期更新。 这样,用户将始终获得最新版本和最新增强功能 - 几乎不需要额外的努力。

微软计划在今年冬天推出一款新终端。 一旦微软推出Windows Terminal 1.0,开发人员将继续开发许多已经积压的功能。

Windows 终端和 Windows 控制台源代码 已经发布了 在 GitHub 上。

未来会有什么等待我们?

微软将自己的 Linux 内核用于其他目的(例如开发自己的 Linux 发行版)的可能性在今天看来有些假设。

查尔斯·金表示,结果可能取决于微软是否能够找到对此类产品的巨大需求,以及此类开发可能会带来哪些商业机会。

他认为公司在可预见的未来的重点将是使 Windows 和 Linux 日益兼容和互补。

约书亚·施瓦茨 (Joshua Schwartz) 认为,在这种情况下,有必要权衡这项工作的投资和回报。 如果微软今天是一家非常年轻的公司,它可能会做所有基于 Linux 的事情。 然而,如今将 Microsoft 已经提供的所有开发成果移植到原生 Linux 架构似乎是一个昂贵且复杂的项目,不太可能获得良好回报。 Linux 爱好者将获得自己的 Linux,并且核心架构将保持不变。

当苹果公司在 2000 年重新发明 Mac OS 时,该操作系统是基于 BSD Unix 的,它更类似于 Linux,而不是 DOS。 如今,新版本的 Microsoft Windows 正在基于 Linux 创建。

也许一扇新的大门正在为我们打开?

微软的Linux内核可以为Windows服务和Linux操作系统之间更好的互操作性铺平道路。 从本质上讲,微软的这些发展表明微软自己已经明白:今天几乎没有客户愿意生活在一个一切都是Windows的世界里。

使用最能满足业务需求和特定实际情况的异构技术和系统更有意义。

更大的战略问题是,此举为微软平台本身带来了哪些新的战略机遇?

微软的云生态系统Azure已经为Linux提供了巨大的支持。 以前,Windows 使用虚拟机很好地支持 Linux。

今天发生的根本性变化是由于现在 Linux 进程将在 Windows 内核上本机运行,这意味着从 Windows 使用 Linux 将比在虚拟机上运行快得多。 因此,Azure 很可能会通过在工业规模上使用 Linux 的整个工程师层来充实自己。

来源: habr.com

添加评论