0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

微软把Linux看作危险的异类

Linux阅码场 来源:f 2019-04-12 16:44 次阅读

这是一个美妙而且疯狂的时代,瞬息万变,一切皆有可能。

曾经一度,微软把Linux看作危险的异类,想将其扼杀在摇篮之中。而如今,摇身一变,化敌为友,微软是LINUXFoundation的铂金级别会员。

根据LinuxFoundation的官方文档,铂金会员是LinuxFoundation最高级别的会员,每年的年费为50万美金。(https://www.linuxfoundation.org/bylaws/)

Platinum US$ 500,000Gold US$ 100,000Silver US$ 20,000 (employee size greater than 5,000) US$ 15,000 (employee size between 500 and 4,999) US$ 10,000 (employee size between 100 and 499) US$ 5,000 (employee size <100)

铂金级别的会员可以在LinuxFoundation的Board中有一个席位,制定决策时有话语权。

撇开技术外的不谈,从技术角度看,Windows10引入的WSL(WindowsSubsystemforLinux)非常值得关注和思考。

简单来说,WSL就是让Windows用户可以在Windows上使用Linux,运行原生的二进制程序,不需要重新编译。

对于从来没有使用过WSL的格友,强烈推荐你试一下WSL,如果你使用的是Windows10,那么“把大象装进冰箱”只需要三步:

  1. 以管理员身份启动一个PowerShell窗口,执行Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

  2. 重启

  3. 打开Windows Store(以前一直觉得没用的东西,终于有用了),搜索WSL,选择你喜欢的Linux发行版本安装

安装速度很快,比在虚拟机里安装要快很多,比如,选择Ubuntu的话,连下载带安装只要几分钟就好了。

接下来就可以享受Linux的短平快了,安装gcc,gdb,......喜欢什么装什么,就是一两条命令的问题。

从名字来看,WSL是为Linux而设计的子系统(WindowsSubsystemforLinux)。但是如果深刻分析,冷静思考,WSL用的并不是Linux内核,而是Linux应用

进一步说,WSL是让Linux应用可以运行在经典的NT内核之上,不需要重新编译,实现二进制兼容。

有了WSL后,NT内核上便可以肩并肩的运行Windows程序和Linux程序,二者可以访问相同的文件系统,可以通信,可以写作,可以做的事情很多很多......

比如,下面的任务管理器截图里便包含了Ubuntu的top进程。

微软把Linux看作危险的异类

有人可能说,Linux应用怎么能跑在NT内核上呢?这的确不是一件简单的事,但是微软花钱、花时间做到了。

简单来说,启用WSL后,Windows会以驱动的形式加载一个名为LxCore的模块:

SystemRootsystem32driversLXCORE.SYS

某种意义上说,它就是微软版本的Linux内核。

还是举个例子来帮助大家快速加深理解吧。

我们曾经介绍过Linux内核中的SYSC_reboot函数,它是rebootAPI对应的系统服务。更有趣的是,这个函数里面雕刻着Linus大神的生日和三个爱女的生日

在LxCore中,也可以看到这一组神秘的数字,反汇编名为LxpSyscall_REBOOT的函数,便可以看到。

完整的反汇编结果有点长,上面截图是最关键的部分,可以看到有四条比较指令,第一条是比较cmd是不是代表reboot的“FEELDEAD”。第二条便是比较Magic1是不是Linus大神本人的生日1969/12/28。后面三个比较的目标分别是三个女儿的生日,不多说了。

如此看来,Linus的家庭故事也被雕刻在了Windows操作系统之中,这或许是当初Linus编写这段代码时也没有预料到的。

下面是调用LxpSyscall_REBOOT函数的情景:

截图中从#05栈帧起的下半部分对应的应用程序的栈,目前WinDBG还不能回溯出其中的函数名字,但是已经在计划内了,在LXCORE模块块中已经准备了一个名为PicoWalkUserStack的函数。

说到这里,大家应该坚信,WSL中并没有使用真正的Linux内核,而是克隆了一份。于是问题来了,严格说,狭义的Linux就是指Linux内核,Linux上的各种应用很多都来自GNU或者其它源头。

从软件生态和产业的角度思考,内核本身并不创造价值,应用程序才是用户真正需要和体现价值的。如此说来,WSL是让值钱的Linux应用程序可以跑在Windows上,为Linux应用提供了一个新的运行环境。从这个角度来说,WSL与Linux内核无疑是相互竞争的关系。于是乎,Linux与微软的关系又变得非常微妙了,可能是并肩前进,互利双赢,也可能是貌合神离,与狼共舞?奇妙的世界,一切皆有可能。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微软
    +关注

    关注

    4

    文章

    6503

    浏览量

    103503
  • 内核
    +关注

    关注

    3

    文章

    1330

    浏览量

    40033
  • Linux
    +关注

    关注

    87

    文章

    11090

    浏览量

    207615

原文标题:雕刻在NT内核中的LINUS故事

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    英特尔ClearLinux上架微软Azure Marketplace

    Clear Linux是专门针对英特尔架构而设计、基于 Linux的操作系统, 微软宣布该系统已经在公司的Azure Marketplace上架,可广泛应用于各种云实例中。英特尔的Clear Li
    发表于01-19 14:36 1084次阅读

    微软发布面向物联网的Linux内核和发行版

    微软发布自己定制的 Linux内核和发行版,面向物联网
    发表于06-04 09:29

    微软发布 AzureLinux正式版

    在内部使用 Azure Linux两年,并从 2022 年 10 月开始公开预览后, 微软本周终于正式提供其 Azure Linux。Azure Linux是 Azure Kuber
    发表于05-28 08:34

    基于异类传感器的战场运动目标识别算法

    利用 异类传感器的互补特性, 提出了一种新的运动目标识别算法: 选取目标速度、第1 主频、第2 主频作为识别的有效特征; 运用模糊推理得到目标分类信息的基本概率分配函数; D2S
    发表于07-09 13:40 11次下载

    首次针对WSL的微软Linux会议将于明年3月10日举行

    微软宣布了 Linux用户梦寐以求的东西,这就是针对WSL( LinuxWindows子系统)的第一次 微软 Linux大会。WSL是由
    的头像 发表于09-17 13:10 1012次阅读

    微软宣布加入一个为保护Linux免于诉讼而设立的开源专利组织

    事实上,Azure客户广泛使用 Linux微软也在Windows之外,向 Linux提供SQL Server。此次加入OIN后,可以消除一大部分吐槽 微软
    的头像 发表于10-15 14:48 3502次阅读

    微软构建内部定制Linux内核 显著提高Windows中微软Linux子系统的性能

    微软Build 2019开发者大会的第一天, 微软透露了其已经构建了一个内部定制的 Linux内核,它将作为Windows 10的一部分包括在内。
    的头像 发表于05-08 15:43 3253次阅读

    微软宣布Linux提供Microsoft Edge预览版

    微软今天宣布为 Linux提供Microsoft Edge预览版。随着该版本的发布, 微软Edge浏览器现在可以用于所有主要的桌面和移动平台。如果你正在运行Ubuntu、Debian、Fedora
    的头像 发表于10-21 15:43 1615次阅读

    Hayden Barnes:微软不会将Windows迁移到Linux

    转自:开源中国 Canonical 桌面团队成员Hayden Barnes发表个人观点称,他认为 微软不会将 Windows 迁移到 Linux。 近段时间以来, 微软积极融合 Linux
    的头像 发表于10-23 11:56 1933次阅读
    Hayden Barnes:<b class='flag-5'>微软</b>不会将Windows迁移到<b class='flag-5'>Linux</b>

    微软发布Edge浏览器Linux

    原创: Linux爱好者(id:LinuxHub) 早在 2019 年 6 月, 微软Edge 开发团队就释放出会开发 Linux版 Edge 浏览器的消息。 一直等啊等啊等,终于等到了。 Edge
    的头像 发表于10-29 11:03 2527次阅读

    危险Linux命令清单

    有人无数次问我这个问题,我一直避免回答,因为没有一个明确的 危险Linux命令清单。
    的头像 发表于09-26 09:16 981次阅读

    分享一些流行危险Linux命令

    Linux你拥有的工具使你能够控制和修改操作系统的每一个方面。但如果你不熟悉这些命令和工具,你可以很容易地 你的系统摧毁。
    的头像 发表于12-14 17:26 959次阅读

    打脸了!微软发布自己的Linux

    至于为何 微软会选择在自家服务中使用 Linux系统呢?答案很简单, Linux系统在执行特定任务时拥有比Windows更好的稳定性。2019年时就有媒体报道, 微软Azure上的
    的头像 发表于06-08 15:24 575次阅读
    打脸了!<b class='flag-5'>微软</b>发布自己的<b class='flag-5'>Linux</b>!

    微软竟然发布了自己的Linux

    微软Azure Linux首席项目经理 Jim Perrin 表示, 微软启动 CBL-Mariner 是因为它需要一个内部 Linux发行版和一个一致的平台来支持工程师在 Azu
    的头像 发表于09-08 17:10 810次阅读
    <b class='flag-5'>微软</b>竟然发布了自己的<b class='flag-5'>Linux</b>

    为什么BJT放大电路交流通路中的电流源或恒流源看作断路?

    为什么 BJT放大电路交流通路中的电流源或恒流源 看作断路 在BJT放大电路中,将交流通路中的电流源或恒流源 看作断路是为了简化分析和计算过程。这种简化方法被称为小信号模型,可以让工程师更快
    的头像 发表于09-13 11:23 1241次阅读