Ubuntu on Windows 10工作方式全解析
时间:2022-05-10 18:42:47
在展开今天的内容之前,我们先要为大家澄清两个误区:
微软支持是的 Ubuntu on Windows,而非 Linux on Windows。
Ubuntu 母公司 Canonical 此次与微软的合作是要直接支持 Windows 原生库和程序:Windows 子系统 for Linux(WSL),而不是通过容器技术或虚拟机运行 Ubuntu。
Ubuntu on Windows 10工作方式
其实 WSL 相关代码早在 2016 年 1 月下旬便被微软悄悄内置进了 Windows 10 Build 14251 预览版中,此后微软的开发人员制订了 lxcore.sys 与 lxss.sys 这两个新的子系统文件,让其成为 Windows 程序员开发 Linux 应用程序的桥梁。
WSL 的首要工作是支持 Ubuntu 用户态映像,微软发言人解释说:「我们为 Windows 建立了新的基础架构,WSL 让 Ubuntu 的缔造者 Canonical 公司可以实现运行 Ubuntu 用户模式映像。基于此,用户就可以在 Ubuntu on Windows 10 中直接运行原生 Bash。」
Canonical Ubuntu 产品和战略执行团队的 Kirkland 提到:「我们此次是将 Ubuntu ELF 二进制文件与 Windows 进行 bit 到 bit 的校验和直接对接。」
为实时将 Linux 系统调用转换成 Windows 系统调用(WSL,目前尚未开源),一个做事非常犀利的 Ubuntu 开发团队一直在努力配合和适应微软的研发技术,以期尽快实现对接。(说以此,想必很多 Linux 爱好者应该已经联想到 wine,这款可在 Windows 中原生运行 Linux 二进制文件的工具。)
目前从微软内部的压力测试工具和实验数据来看,Ubuntu on Windows 10 应用与 Windows 10 应用几乎可以获得同等的 CPU、内存和 I/O 性能结果。
对 Windows 工作原理和发展历史非常了解的用户应该知道,微软此次与 Canonical 的合作似乎显得有些姗姗来迟。其实从 Windows NT 开始就内置了 POSIX 子系统,它就是专门为 Windows 提供原生 Unix-Linux 支持而开发的。
为什么变革
很多人在考虑微软此次为什么要做出如此大的变革?其实不难看出,从 Satya Nadella 上台微软 CEO 宝座之后,一直在致力于推广「移动为先,云为先」的理念,Microsoft Azure 云平台也在不断拥抱开源(一个只支持微软产品的平台,还能叫公有云?)。从用户的角度来看,除了桌面端的 Windows、Mac 和 Linux 外,很多用户同时拥有并管理多套异构平台,就经常需要在 Windwos 中折腾占资源的异构虚拟机、SSH 和 Cygwin 等。在有了 Ubuntu on Windows 后只需点击几下,便可以访问一个功能丰富的 Ubuntu Shell,而无需再在本地虚拟化或重新编译。
而对于 Canonical 来说,其 Ubuntu 是 Microsoft Azure 和其它云平台中最流行的 Linux 发行版,也是普及率非常高的 Linux 桌面端。将 Ubuntu Shell 内置进 Windows 桌面,可以帮助用户和开发人员更容易地使用 Visual Studio、vim 或 emacs 编辑代码、更简便地使用 git、scp 或 rsync 向云实例推送数据。
小结
很显然,不论对微软、Canonical、还是最终用户,此次几方史无前例、似乎有些违背惯例的合作对各方都非常有好处,希望微软在这个方向上的探索会有一个三赢的结果。
如果你对 Ubuntu on Windows 有兴趣,Ubuntu 14.04 LTS for Windows 10 的首个映像将很快会发布,Ubuntu 16.04 LTS 映像会在 4 月 21 日正式发布之后不久取代 Ubuntu 14.04 LTS 上线到 Windows Store。不过由于所有 Ubuntu on Windows 的映像都基于 Redstone 代码,所以最快需要等到今年夏天 Windows 10 Redstone 正式发布最终用户才能正式用上。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
excel2013如何制表
![](https://img.aspxhome.com/file/2023/6/36456_0s.jpg)
Excel怎么核对表格的数据是否一致?
![](https://img.aspxhome.com/file/2023/5/a139985_0s.png)
电脑公文包与文件夹区别,windows10中如何添加公文包
![](https://img.aspxhome.com/file/2023/30/a262604_0s.jpg)
学习VLOOKUP函数路上的第二个坑
4.设置完毕后我们就可以在表格里看到渐变的形状啦
如何使用cmd命令删除win7系统不用的文件
![](https://img.aspxhome.com/file/2023/27/a233593_0s.jpg)
Win 10只用Edge浏览器?是否应该卸载掉IE
![](https://img.aspxhome.com/file/2023/28/a248285_0s.jpg)
图片扫描转excel文档的方法
苹果 macOS Monterey 12.1 开发者预览版 Beta4 发布
![](https://img.aspxhome.com/file/2023/6/a203766_0s.jpeg)
Windows 预览体验成员现在可以试用控制器栏的早期预览版了!(附使用方法)
![](https://img.aspxhome.com/file/2023/28/a239987_0s.jpg)
对区域或表中的数据进行排序
![](https://img.aspxhome.com/file/2023/6/a143456_0s.gif)
如何利用VBA更改页Excel眉页脚中的日期格式
Windows7系统连接到工作区的方法(图文教程)
![](https://img.aspxhome.com/file/2023/29/a252549_0s.jpg)
Win7语言栏消失了怎么办?win7任务栏的语言不见了怎么办?
![](https://img.aspxhome.com/file/2023/26/a228408_0s.jpg)
win10 Edge浏览器新增一款CatBlock插件 能屏蔽广告
![](https://img.aspxhome.com/file/2023/29/a261487_0s.png)
如何在Mac上复制DVD
![](https://img.aspxhome.com/file/2023/6/a210826_0s.jpeg)
excel特殊符号在哪里?Excel 如何输入特殊符号
![](https://img.aspxhome.com/file/2023/3/a141803_0s.jpg)
如何在Excel中制作多联画效果? Excel2019制作多栏画效果教程
![](https://img.aspxhome.com/file/2023/1/39921_0s.jpg)
Win10电脑的计算器在哪?Win10计算器打开方法教程
![](https://img.aspxhome.com/file/2023/1/52701_0s.png)
Creative Cloud macOS Big Sur 版更新:修复 CPU 使用率 100% 错误 Bug
![](https://img.aspxhome.com/file/2023/5/a208745_0s.jpeg)