Ubuntu on Windows 10 工作方式全解析

误区澄清

在展开今天的内容之前,我们先要为大家澄清两个误区:

微软支持是的 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 正式发布最终用户才能正式用上。

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

时间: 2024-10-28 01:46:30

Ubuntu on Windows 10 工作方式全解析的相关文章

Ubuntu与Windows 10周年版Ubuntu Bash性能对比

今年初,当 Microsoft 和 Canonical 发布 Windows 10 Bash 和 Ubuntu 用户空间,我尝试做了一些初步性能测试 Ubuntu on Windows 10 对比 原生 Ubuntu,这次我发布更多的,关于原生纯净的 Ubuntu 和基于 Windows 10 的基准对比. Windows 的 Linux 子系统测试完成了所有测试,并随着 Windows 10周年更新放出. 默认的 Ubuntu 用户空间还是 Ubuntu 14.04,但是已经可以升级到 16.

微软选择 Ubuntu 放到 Windows 10 的 Linux 子系统中,或许“错”了

虽然并非微软官方出品,不过你现在可以在 Windows 10 的  Linux 子系统(WSL)中使用 openSUSE Leap 或 SUSE Linux 企业版(SLES)了. 正如你所知道的,最新的 Windows 10 版本中含有一个完整的.基于 Ubuntu 的 Bash,开发者们可以在 Windows 桌面中直接运行 Linux 软件或命令.这被称为"Bash on Ubuntu on Windows"--一个啰嗦的名字--现在可以从 Windows 的开始菜单直接访问到了

Ubuntu 14.04/16.04 与 Windows 10 周年版 Ubuntu Bash 性能对比

今年初,当 Microsoft 和 Canonical 发布 Windows 10 Bash 和 Ubuntu 用户空间,我尝试做了一些初步性能测试 Ubuntu on Windows 10 对比 原生 Ubuntu,这次我发布更多的,关于原生纯净的 Ubuntu 和基于 Windows 10 的基准对比. Windows 的 Linux 子系统 Windows 的 Linux 子系统测试完成了所有测试,并随着 Windows 10周年更新放出. 默认的 Ubuntu 用户空间还是 Ubuntu

背水一战 Windows 10 (3) - UI: 窗口全屏, 窗口尺寸

原文:背水一战 Windows 10 (3) - UI: 窗口全屏, 窗口尺寸 [源码下载] 背水一战 Windows 10 (3) - UI: 窗口全屏, 窗口尺寸 作者:webabcd 介绍背水一战 Windows 10 之 UI 窗口全屏 窗口尺寸 示例1.窗口全屏UI/FullScreen.xaml <Page x:Class="Windows10.UI.FullScreen" xmlns="http://schemas.microsoft.com/winfx/

ubuntu kylin 15.10 samba 设置了,windows 登录不了,有人遇到吗?

问题描述 ubuntu kylin 15.10 samba 设置了,windows 登录不了,有人遇到吗? ubuntu kylin 15.10 samba 设置了,windows 登录不了,有人遇到吗? 解决方案 把iptables 关了 selinux也关了,然后共享目录权限,应该就这些问题吧. 解决方案二: 还有Windows的防火墙 解决方案三: samba有时候不稳定,所以即使网络没问题,也不能访问,最好通过一个公共ftp

比用户还着急!微软用全屏警告提醒用户升级到Windows 10

7月5日消息,据外电报道,在免费升级期限即将结束的时候,微软表现得比用户还着急,开始启用全屏弹出警告信息来催促用户赶紧升级到Windows 10. 这个软件巨头一直在向用户强行推广升级程序,这引起了人们的不满.因为很多人希望继续使用老版Windows,而微软总是反复推送烦人的升级提醒信息,甚至会在台式电脑上自动安装升级程序. 免费升级期限还剩下不到一个月的时间.过了这个期限,用户将需要付费升级Windows.为了抓住最后的时间说服用户升级,微软现在启用了全屏紫色警告信息.这个紫色的屏幕乍一看起来

微软:ISO镜像将会是升级Windows 10最可靠最便捷的方式

Windows 10周年更新即将于明天正式开放,微软还计划推出ISO镜像文件以便于用户直接进行纯净安装来升级至Version 1607.全新的ISO镜像将会通过Media Creation Tool上线,微软表示这将成为PC上安装Windows 10周年更新的主要方式. 公司解释道:"在8月2日,Media Creation Tool将会进行更新,你能够下载包含Windows 10周年更新的最新版本.Windows 10周年更新包涵了诸多令人激动的改善.自8月2日开始,依然运行此前版本的Wind

全面解析路由器介绍、工作方式及协议 下

路由算法路由算法在 路由协议中起着至关重要的作用,采用何种算法 往往决定了最终的寻径结果,因此选择路由算法一定要仔细.通常需要综合考虑以下几个设计目标:(1)最优化:指路由算法选择最佳路径的能力.(2)简洁性:算法设计简洁,利用最少的软件和开销,提供最有效的功能.(3)坚固性:路由算法处于非正常或不可预料的环境时,如硬件故障.负载过高或操作 失误时,都能正确运行.由于路由器分布在网络联接点上, 所以在它们出故障时会产生严重后果.最好的路由器算法通常能经受时间的考验,并在各种网络环境下被证实是可靠

iOS实现第三方微信登录方式实例解析(最新最全)_IOS

项目地址 : https://github.com/zhonggaorong/weixinLoginDemo 最新版本的微信登录实现步骤实现: 1.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程. 地址: 点击打开链接 2. 下载最新的SDK 地址: 点击打开链接 SDK内容如下: 结构解析: 从上到下依次说明: 1. 静态库,直接拖入工程. 2. re