AICon全球人工智能与机器学习技术大会9折特惠中,点击立减¥480>> 了解详情
写点什么

Windows 将在新一代 WSL 中提供完整的 Linux 内核支持

2019 年 5 月 17 日

Windows将在新一代WSL中提供完整的Linux内核支持

近年来,微软令 Linux 开发者社区中的很多用户感到了惊喜。这些惊喜包括在 windows 商店上架诸如 windows 版本的Bash shellwindows10中原生的OpenSSH、甚至 Ubuntu、SUSE Linux 以及 Fedora 之类的产品。如今,微软则计划直接在 windows10 中提供完整的 Linux 内核支持。


微软项目经理 Jack Hammon 在其最新的博文中提到: “从今夏的 Windows insider builds 开始,我们将采用内部定制的 Linux 内核来为 Windows 下的 Linux 子系统提供支持(Windows Subsystem for Linux,WSL)。该内核最初将以 Linux 最新的长期稳定发行版 4.19 为基础,随后再根据新版本的设计进行更新,以确保 WSL 内核能够获取最新版 Linux 的特点和最佳性能。”


这次的 WSL 更新对微软来说是一项重大转变,标志着 Linux 内核首次成为 windows 系统的一部分。该 Linux 内核的整合工作将于今年晚些时候在代号为 19H2 的 windows10 更新中完成,这也意味着,用户将无须再通过手动管理便可获得最新的安全修复以及内核改进。除此之外,新一代的 WSL 将因此拥有更高的处理效率:例如在相同解压任务中,WSL 2 可以实现 20 倍速于 WSL 1,达到 Git clone 大约 5 倍的速度。


而对于开发者而言,此次更新将极大地改进 Windows 下 Linux 子系统的表现。同时,微软于五月 6 号发布了新的windows命令行终端,作为访问诸如 PowerShell Cmd 以及 Linux 子系统等开发环境的关键途径。全新的 windows 终端与新一代 WSL 使得 Windows 开发变得更加友好且具有吸引力。


WSL 的转变

“Linux”通常用来指代 Linux 内核以及相关的 GNU 用户空间。相较于初代 WSL1,新版本的 WSL2 也不会提供任何用户空间二进制文件。微软内核将与用户所选择的用户空间直接交互。从Windows应用商店可以直接下载安装 WSL,也可以通过创建自定义Linux发行版包进行“侧载”。其中,有一个小的初始化脚本是唯一的例外,它被添加到引导过程,以完成 Windows 和 LInux 之间的连接,这使得 Windows 的 Linux 子系统非常具有魔力。


新版 WSL 的内核本身最初将基于 4.19 版本,这是 Linux 最新的长期稳定版本。 内核将在指定新的长期稳定版本时进行重新定位,以确保 WSL 内核始终具有最新的 Linux 优点。


除了来自于 Kernel.org 的 LTS 源,WSL2 中还添加了很多本地补丁。这些补丁通过缩短启动时间,减少内存暂用以及最小化受支持设备集的规模,调整生成的二进制文件,以利于其在 WLS2 中的使用。最终,微软提供了一种小巧、轻量级的内核,这个内核是专门为 WSL2 构建的,它类似于 WSL1 设计中的仿真体系结构的直接替代品。


代码上行

微软聘用了越来越多的 Linux 贡献者,他们将业界领先的 Linux 技术引入公司。 多年来,在 Azure Marktplace 提供的大量发行版中,这些 Linux 开发人员已经使微软能够很好地支持新的平台特性。


Jack Hammon 认为“微软 Linux 的一个重要理念是所有更改都在上游。 这是因为维护下游补丁增加了复杂性,这并不是开源社区的标准做法。在利用 Linux 的过程中,我们承诺成为一个好的社区公民并回馈我们所做的改变。”


但是,在开发期间,必须使用本地修补程序来启用新功能或解决上游问题。 在这些情况下,微软会创建或找到满足产品需求的补丁,然后与社区合作以尽快集成该代码。 为了保护 LTS 分支的稳定性,某些补丁(例如新功能)可能只包含在内核的未来版本中,而不是直接利用后端移植添加到当前的 LTS 版本。


当 WSL 被实际部署时,除了长期稳定源之外,它还包含指向一组补丁的链接。 随着时间的推移,微软希望这个列表会缩小,因为当微软添加新的本地补丁以支持 WSL 的新特性时,补丁使其上行并增长。


安全性

WSL 内核将使用微软一流的 CI / CD 系统构建,并通过 Windows Update 在对用户透明的操作中提供服务。 内核将会与稳定版本的新特性同步更新和修复。 为了确保源的出处,微软本地制作了镜像存储库。 同时通过不断监控 Linux 安全邮件列表,并与多家 CVE 数据库公司合作,以确保微软的内核具有最新的修复和缓解措施。


Linux 的一大优点是其稳定且向后兼容的系统调用接口。 这将使微软能够将 Linux 内核的最新稳定分支发布到所有版本的 WSL2。 Jack Hammon 表示他们将会在建立新 LTS 并对其进行充分验证后对内核进行变基(rebase)。


开源性

为 WSL2 提供的内核将是完全开源的! 随着 WSL2 在Windows insider builds的发行,自定义内核的教程将在 Github 上同步发布,以保证开发者有创建自己的 WSL 内核以及提交修改的能力。 同时,微软表示他们将与有兴趣帮助改进上游的开发人员合作。


英文原文链接:Microsoft will ship a full Linux kernel in Windows 10


2019 年 5 月 17 日 12:1112584

评论

发布
暂无评论
发现更多内容

[KubeFlow] MPI-Operator深度解读

薛磊

Docker gpu kubeflow Kubernetes

程序员通过哪些方式来赚钱?

一尘观世界

程序员 外包 自由职业 副业 赚钱

ELF文件格式

韩超

Gitlab CI/CD 中的 Cache 机制

Chong

DevOps gitlab cicd

特定系统的Linux的构建

韩超

字节跳动的增长密码

池建强

字节跳动 张一鸣

高手和普通人的差距,不看不知道,一看吓一跳

熊斌

学习

NVidia Docker介绍

薛磊

Docker

中台之路,从平台到中台的思考与实践(一)

孤岛旭日

架构 中台 企业中台 企业架构

Kylin 实时流处理技术探秘.笔记

迹_Jason

大数据

从西游到武侠——确定性与不确定性

伯薇

个人成长 管理 确定性 不确定性

我使用了哪些生产力工具?

ikook

效率工具 软件 Alfred Notion 推荐

微服务架构深度解析与最佳实践-第一部分

kimmking

微服务 最佳实践 深度解析 高可用

3000w人民币的学费——我的决策反思

孤岛旭日

数据中台 架构 中台 企业中台 企业架构

【JAVA】感受下JDK14的空指针提示

遇见

Java jdk jep

面试官,不要再问我三次握手和四次挥手

猿人谷

面试 TCP 三次握手 四次挥手

Doris 一种实时多维分析的解决方案

迹_Jason

大数据

开源这件事儿,越来越“声势浩大”了

赵钰莹

Apache GitHub 阿里巴巴 开源 腾讯

自动驾驶复苏在2020

陈思

人工智能 自动驾驶

聊聊分心这件事

Jackey

服务降级的常见套路

松花皮蛋me

Java

Docker Swarm 踩坑

ikook

Docker Docker Swarm 技术 容器 踩坑

redis数据结构介绍-第一部分 SDS,链表,字典

Nick

redis 源码 数据结构 源码分析 算法

NVidia-Docker2 性能优化

薛磊

Docker gpu nvidia container

人间至味——苦瓜

三只猫

人生 美食 生活

纯技术改造,技术如何驱动需求,我有话说

一叶而不知秋

项目管理 架构 技术

Linux的proc文件系统编程

韩超

基于RocketMQ实现分布式事务 - 完整示例

清幽之地

Java 分布式事务 RocketMQ 微服务

苏宁云商向江旭:是时候让技术成为新司机了!

TGO鲲鹏会

百度主任架构师谭待:打造非职权技术管理机制

TGO鲲鹏会

中台之路,从平台到中台的思考与实践(二)

孤岛旭日

架构 中台 企业中台 企业架构

数据cool谈(第1期)数据库寻路,开源有态度

数据cool谈(第1期)数据库寻路,开源有态度

Windows将在新一代WSL中提供完整的Linux内核支持-InfoQ