首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >微软开源Windows Linux子系统(WSL)核心组件引发业界关注

微软开源Windows Linux子系统(WSL)核心组件引发业界关注

作者头像
一根头发丝的宽度
发布2026-05-06 18:35:43
发布2026-05-06 18:35:43
1050
举报

近日,微软宣布将 Windows Subsystem for Linux(WSL)的核心组件正式开源。这一举措标志着微软在跨平台开发领域迈出关键一步,也为开发者社区注入新活力。

WSL 并不是每一部分都是开放的,比如一些较旧的代码或帮助 Windows 和 Linux 文件顺利对话的部分。 但是,一大部分核心代码已经开放。

究竟什么是 WSL?

想象一下,你有一台 Windows 计算机,但你也需要使用在 Linux 上运行得最好的工具。 也许你是一名从事开源项目的开发人员。 过去,你可能需要单独的 Linux 计算机或虚拟机。

Windows Linux 子系统(WSL)是 Windows 内置的一项特殊功能,它能让你像运行其他应用程序一样运行 Linux。

你可以直接在 Windows 机器上使用 Linux 程序,处理 Linux 文件,使用流行的 Linux 命令行工具,如 Bash、sed 和 awk。

你甚至可以使用最新的 WSL2 版本直接运行图形用户界面应用程序。

WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝、高效的体验。

架构演进与性能突破

WSL 主要有两个版本: WSL 1 和 WSL 2。 WSL 2 是当前安装 Linux 发行版时的默认版本。

WSL 1
  • 最初的版本,即 WSL 1,是基于一种允许 Windows 本机运行 Linux 可执行文件(ELF)的技术。
  • 它使用一个名为 lxcore.sys 的内核侧驱动程序,使 Windows 能在 Windows 内核中直接执行 Linux 系统调用。
  • 目前仍支持 WSL 1,但一般推荐使用 WSL 2。
WSL 2
  • 与 WSL 1 相比,WSL 2 对底层架构进行了重大调整。 WSL 2 不再在 Windows 内核中执行 Linux 系统调用,而是使用虚拟化技术,在轻量级实用程序虚拟机(VM)中运行完整的 Linux 内核。
  • 该虚拟机在幕后管理和运行。 它具有 WSL 1 的优势,如无缝集成和快速启动时间,但也具有真正 Linux 内核的优势。
  • Linux 发行版作为隔离的容器运行在这个受管虚拟机中。
  • WSL 2 的一个主要目标是提高文件系统性能(主要针对 Linux 文件系统中的文件),并增加完全的系统调用兼容性。 虽然 WSL 2 的性能普遍优于 WSL 1,但在 WSL 2 中访问 Windows 文件系统中的文件可能会比在 WSL 1 中慢一些。 WSL 2 采用 Windows 内置的 Hyper-V 虚拟机管理程序技术。
WSL 核心组件

要了解 WSL 的工作原理,必须先了解 WSL 的核心组件。

为 WSL 提供动力的代码由不同部分组成,有些在 Windows 中运行,有些在 WSL 2 VM 中运行。

  • 命令行可执行程序: wsl.exe、wslconfig.exe 和 wslg.exe 等工具是与 WSL 交互的入口点。
  • WSL 服务: 该 Windows 服务负责启动 WSL 虚拟机、启动发行版和管理文件访问共享。
  • Linux 进程: init、gns(用于联网)和 localhost 等二进制文件在 Linux 环境中运行,提供 WSL 核心功能。
  • Plan9 文件服务器: 在 Linux 中运行的实现,用于处理 Linux 文件共享,以便从 Windows 访问这些文件(例如,通过 \\wsl.localhost 访问)。

从本质上讲,WSL(尤其是 WSL 2)通过将运行真正 Linux 内核的轻量级虚拟机与 Windows 端组件和服务相结合,提供了一个高度集成的环境,从而创建了一个无缝的开发人员工作流程。

WSL 的哪些部分现在是开源的,哪些不是?

WSL 的核心部分已经开源。

具体来说,最新版本 WSL 2 中使用的 Linux 内核代码已经公开。 微软公司自行构建了这一内核,使其能很好地与 Windows 协同工作。 此外,WSL 平台的主要代码是开放的。

还有一部分称为 WSLg(Windows Subsystem for Linux GUI)。 这功能很酷,可以让你在 Windows 桌面上直接运行带有窗口和按钮的 Linux 应用程序,甚至可以在 Windows 和 Linux 应用程序之间轻松复制和粘贴。 WSLg 的代码现在也是开源的。

大部分代码都采用 MIT 许可, 该许可证允许人们自由使用和共享代码。

尚未开源的 WSL 组件

如前所述,目前 Windows Subsystem for Linux (WSL) 并非所有组件都已开源。

  • Lxcore.sys: 这是支持 WSL 1 的内核侧驱动程序。虽然 WSL 2 是默认和推荐的架构,但 WSL 1 仍受支持,并未废弃。 一些用户特别希望这部分是开放的。
  • P9rdr.sysp9np.dll: 这些组件运行文件系统重定向,允许使用 \\wsl.localhost 路径从 Windows 访问 Linux 文件。

因此,虽然核心平台、WSL 2 内核和图形用户界面支持(WSLg)等主要部分已经开放,但一些关键的 Windows 端组件,尤其是与较早的 WSL 1 架构和 Windows 到 Linux 文件访问重定向相关的组件,目前仍然是闭源的。

WSL 开源是非常有益的

出于以下几个原因:

  1. 让更多人关注代码: 现在任何人都可以查看代码,因此更容易发现问题或弄清工作原理。
  2. 社区力量:使用 WSL 的用户已经通过查找错误和提出功能建议提供了很多帮助。 随着代码的开放,用户现在可以直接帮助解决问题和添加新功能。
  3. 进度更快: 将 WSL 的开发移出主 Windows 系统,并使其成为开放源代码,有助于更快地更新。

WSL 2 本身在推出时就迈出了一大步,它使用了轻量级虚拟机,以确保它能像真正的 Linux 一样运行。 这次开源又向前迈进了一大步,意味着微软非常期待社区能帮助 WSL 变得更好!

社区反响

这一消息在多个论坛和社交媒体上引发了大量讨论!

  • 积极评价:很多人都非常高兴和激动。 他们认为这是使 WSL 更加稳定和增加功能的好方法。 一些开发人员说,WSL 对他们的工作至关重要,它让他们同时拥有 Windows 和 Linux 的优点。
  • 战略疑虑:有些人仍持谨慎态度。 鉴于微软在 Linux 方面的历史,一些人怀疑他们的真正目的。
  • 现存挑战:还有人指出了一些问题,比如在 WSL 内部处理 Windows 文件有时会很慢。
未来展望

微软同步公布了技术路线图,重点包括:

  • 强化GPU加速支持(CUDA/OpenCL)
  • 改进内存动态分配机制
  • 开发跨系统调试工具链

此次开源不仅体现微软对开发者生态的重视,更预示着操作系统边界正在技术融合中逐渐消弭。正如Linux基金会执行董事Jim Zemlin评论:"当Windows开始拥抱Linux内核,我们正见证计算史上的范式转变。"

👇【留言互动】你希望WSL下一步更新什么功能? A. 直接运行Android应用 B. 支持NVIDIA CUDA加速 C. 一键切换多发行版


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一根头发丝的宽度 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 究竟什么是 WSL?
  • 架构演进与性能突破
    • WSL 1
    • WSL 2
  • WSL 核心组件
  • WSL 的哪些部分现在是开源的,哪些不是?
    • 尚未开源的 WSL 组件
  • WSL 开源是非常有益的
  • 社区反响
  • 未来展望
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档