写点什么

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

  • 2019-05-17
  • 本文字数:1863 字

    阅读完需:约 6 分钟

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-05-17 12:1112884

评论

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

Flutter-系列(四)基础UI实践,从外包月薪5K到阿里月薪15K

android 程序员 移动开发

架构实战营 模块三作业

felix

架构实战营

Flutter开发桌面应用-第一个windwos桌面应用,androidframework视频

android 程序员 移动开发

Flutter自适应瀑布流,深入浅出安卓开发

android 程序员 移动开发

Flutter 跨平台框架应用实战-2019极光开发者大会,音视频开发面试

android 程序员 移动开发

Flutter之撸一个漂亮的登录界面的总结,Android性能优化之启动优化实战篇

android 程序员 移动开发

Flutter仿钉钉考勤日历,html5移动端

android 程序员 移动开发

Flutter动手实战,大佬手把手教你如何仿写出大厂的APP,Android软件开发面试题

android 程序员 移动开发

Flutter学习之认知基础组件,android手机开发教程

android 程序员 移动开发

Flutter实战之实现一个简单的新闻阅读器,html5移动端开发框架

android 程序员 移动开发

Flutter 入门与实战(九),android软件开发前景

android 程序员 移动开发

Flutter 如何发布安卓应用?,flutter文档发布组件

android 程序员 移动开发

Flutter 官方尝试放只“鸽子”来简化Native插件开发,复习指南

android 程序员 移动开发

Flutter图表库fl_chart的使用解析(二)-折线图,android webview

android 程序员 移动开发

Flutter的原理及美团的实践(中),直击优秀开源框架灵魂

android 程序员 移动开发

Flutter 仿掘金推特点赞按钮,kotlin中文版

android 程序员 移动开发

Flutter 入门与实战(十三),安卓framework层开发

android 程序员 移动开发

Flutter之FutureBuilder的学习和使用,Android2021面试题

android 程序员 移动开发

Flutter基础(三)Dart快速入门,下血本买的

android 程序员 移动开发

Flutter学习之布局、交互、动画,字节跳动学习笔记

android 程序员 移动开发

新一代云上基础技术和架构分论坛

阿里云 架构 基础设施 科技 云栖大会

Flutter原理:三棵重要的树(渲染过程、布局约束,android开发框架介绍

android 程序员 移动开发

Flutter提升开发效率的一些方法和工具,零基础入门学习android

android 程序员 移动开发

web技术分享| 一人一天一个可移植的实时聊天系统

anyRTC开发者

大前端 Web 音视频 实时通信 实时聊天

Flutter中http请求抓包解决方案,揭秘今年Android春招面试必问问题有哪些

android 程序员 移动开发

Flutter之全埋点思考与实现,精心整理

android 程序员 移动开发

从厂商主张到客户主见,4个变化揭示 Serverless 的不同

望宸

Serverless 容器 云原生 k8s

Flutter开发之Dart的数据类型01,安卓开发面试自我介绍

android 程序员 移动开发

Flutter开发中的一些Tips(二),2021年网易Android岗面试必问

android 程序员 移动开发

Flutter混合开发(三):Android与Flutter之间通信详细指南

android 程序员 移动开发

Flutter这么火为什么不了解一下呢?(下,2020-2021京东Android面试真题解析

android 程序员 移动开发

  • 扫码加入 InfoQ 开发者交流群
Windows将在新一代WSL中提供完整的Linux内核支持_硬件_Tom Warren_InfoQ精选文章