微软把Linux看作危险的异类

这是一个美妙而且疯狂的时代,瞬息万变,一切皆有可能。
曾经一度,微软把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,那么“把大象装进冰箱”只需要三步:
以管理员身份启动一个powershell窗口,执行enable-windowsoptionalfeature -online -featurename microsoft-windows-subsystem-linux
重启
打开windows store(以前一直觉得没用的东西,终于有用了),搜索wsl,选择你喜欢的linux发行版本安装
安装速度很快,比在虚拟机里安装要快很多,比如,选择ubuntu的话,连下载带安装只要几分钟就好了。
接下来就可以享受linux的短平快了,安装gcc,gdb,......喜欢什么装什么,就是一两条命令的问题。
从名字来看,wsl是为linux而设计的子系统(windowssubsystemforlinux)。但是如果深刻分析,冷静思考,wsl用的并不是linux内核,而是linux应用。
进一步说,wsl是让linux应用可以运行在经典的nt内核之上,不需要重新编译,实现二进制兼容。
有了wsl后,nt内核上便可以肩并肩的运行windows程序和linux程序,二者可以访问相同的文件系统,可以通信,可以写作,可以做的事情很多很多......
比如,下面的任务管理器截图里便包含了ubuntu的top进程。
有人可能说,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与微软的关系又变得非常微妙了,可能是并肩前进,互利双赢,也可能是貌合神离,与狼共舞?奇妙的世界,一切皆有可能。

用自己声音或智能手机控制RGB LED灯带实现梦幻效果
嵌入式系统中高速度大容量的数据存储器件的综合介绍
什么是传输线?传输线电路模型简析
现实就是残忍,美国联邦快递CEO议区块链:要么布局,要么出局
三元催化器寿命多长_三元催化器多久更换_三元催化器安装位置在哪
微软把Linux看作危险的异类
低压电器精密交流脉冲点焊机
蓄电池安装的常见问题 怎样确定电池的安装方式
雷达电子干扰和抗干扰类型和定义
家用智能锁的防盗能力如何?坤坤智能锁告诉您
电子元器件的故障特点 电子元器件配单使用注意事项
刚开发的新大陆:3D打印技术可制造柔性电路板
一种三维激光雷达SLAM算法名为地面SLAM
深天马拟在厦门建第6代柔性AMOLED生产线项目
力矩电机的主要特点是具有软的机械特性
如何为51单片机的P0口选择合适的上拉电阻
直流稳压电源详解
冰豹Kain120电竞游戏鼠标高清图集
骨传导耳机是不是智商税?骨传导耳机适合什么人群使用
三维封装技术介绍