10年前人们常说“代码吞噬整个世界”,而现在人们又说“互联网的一切来自于云计算”,不过最近业界突然发现原来开源才是IT行业的终极协作方式,尤其是在操作系统领域旧王封闭的Windows与新王开源的Linux之间,似乎正在进行着一场王位的交接仪式。
近日,开源先驱、《大教堂与集市》作者Raymond 在其博客上提出了一个惊人的观点即“Linux 即将取得操作系统之争的最后胜利,因为微软很有可能在未来放弃 Windows 系统的内核研发,转而将其建立在 Linux 内核之上。”微软放弃Windows转向Linux这听起来虽然不太可能,但仔细思考却的确有几分道理,因为微软与之前相比的确,已经脱胎换骨,甚至很多方面比谷歌变得更加开放了,我们看到基于Chromium的微软Edge浏览器已经上线,不过谷歌却要对安卓开发者加征30%的收益提成了。而且考虑到Windows10已经是Windows最后一个版本了,因此后续微软真的推出一个全新的Winix系统可能真不是个天方夜谭。
无独有偶,在今年华为发布了鸿蒙2.0版本操作系统并正式开源后,我们看到其实鸿蒙也是全面拥抱Linux,在鸿蒙的KAL内核层中除了Lite OS之外,还有Linux kernel(https://developer.harmonyos.com/cn/docs/documentation/doc-guides/harmonyos-overview-0000000000011903)。
笔者看到对于华为使用Linux的做法,不少网友评论说这将使鸿蒙不会像宣传中那样的自主可控,但是这里笔者必须指出,Linux的精神内核就是开放与共享,从目前Linux的稳定版本5.8的情况来看来自华为的贡献至少排在所有贡献者的第二名。
相信在Linuxw今年后的版本华为的贡献比例还会继续提高,因此我们可说华为和Linux是共同成长的,而且Linux本身是开源的,其代码中并没有什么开关,可以禁止我国企业的使用,因此如果美国强行对华断供Linux,将触及开源组织的理念与底线,只能通过切断美国公司与Linux的技术联系才能实现,不过这似乎只能将Linux及其它开源组织完全倒向中国。
所以从目前的情况来看,说无论未来操作系统如何发展Linux的地位都会更加稳固,如果不了解Linux,那么对于虚拟化、容器等技术的优劣,只能有定性的认识,而不会有定量的理解,IT界一直崇尚“Talk is cheap,show me the code”,因此我行内部发起了一个阅读Linux代码的组织,后续还会向大家带来相关解读成果。
Linux与微软从相杀到相爱
Linux之所以会如此火爆,除了开源以外,其最大优势就是实现了对于POSIX的兼容。POSIX(Portable Operating System Interface,缩写为POSIX)是IEEE为使应用软件能够跨各种UNIX操作系统通用运行,而定义API的一系列互相关联的标准的总称,而最后的而X则表明其对Unix API的传承。
一般情况下,应用程序通过应用编程接口(API)而不是直接通过调用底层硬件来编程。这点很重要,因为应用程序使用的这种编程接口实际上并不需要和内核提供的系统调用对应。一个API定义了一组应用程序使用的编程接口。它们可以实现成一个系统调用,也可以通过调用多个系统调用来实现,而完全不使用任何系 统调用也不存在问题。实际上,API可以在各种不同的操作系统上实现,给应用程序提供完全相同的接口,而它们本身在这些系统上的实现却可能迥异。而这种做法最大的好处就是大幅提升兼容性,代码在跨操作系统运行时不需要改写,只要重新编译即可以完成移植。而对于POSIX也使得Linux得以迅速继承原本运行在Unix上的应用生态,从而快速壮大。可能也正是由于上述原因,2001 年微软时任CEO鲍尔默将 Linux 称为“癌症”。
不过自纳拉德接任微软CEO以来,这一切就全部改变了,微软基本抛弃了之前以Windows、Office授权费用为盈利核心的模式,完全转型成为了一家开放、共享的企业,他们不但在宣传上讲“Microsoft love Linux”而且也在用行动践行着这样的誓言,微软Azure增加了对Linux的支持、开源了.Net Core、开源了VS Code、近期又完善了Windows对于POSIX的库支持,最关键的是在纳叔的领导下微软还推出了基安卓版本的Office办公套件,并且在收购全球最大开源Github,继续放手让Github保持独立运营。
目前微软还通过WSL黑科技,让每台装有Windows的电脑,都可以无缝运行Linux了,只需要在控制面板上简单设置一下,打开适用于“Linux的Windows子系统”功能以后就可以由cmd命令行,通过lxrun /install /y命令来下载运行Linux系统了。
最初的WSL(Windows Subsystem for Linux)是在运行时处理Linux System Call,模拟Linux内核,在ABI层面保持兼容性。不过无论是在ABI还是API层模拟,Linux/UNIX与Windows NT毕竟是两类内核,设计理念、设计标准等多方面差异甚大,无法实现完全对等模仿,
因此WSL2引入了修改版的Linux内核,改用虚拟化技术实现,并且WSL2是基于最新的Linux 4.19,这也是Linux内核的长期支持版,新的内核经过了微软悉心改造,以便与Windows相配合,获得更好的用户体验。目前WSL2已经在Github上开源(https://github.com/microsoft/WSL2-Linux-Kernel),WSL2将Linux内核放置到一个轻量级的虚拟机(Virtual Machine,VM)中运行,使用过程与WSL1保持一致,VM的启动、管理都藏在背后,可谓是真的黑科技。
而从WSL的实现路径上来看,使用Linux内核替代Winidows原有内核的可能性也许真的存在,这大概也是Raymond 提出微软此计划的原因。不过就算最终这个内核替代方案不能成行,微软也通过这一系列的开源操作赢得了业界的口碑与众多开源开发者的尊敬,可以说现在微软已经活成了谷歌年轻时最想成为的样子。
炒“芯”必误国,鸿蒙生态坚持用“芯”不炒
其实微软转身开源Linux的操作其背后逻辑也不难理解。因为在IT行业几乎每隔十年就会出现一种新型的生态体系,比如2000年出现的由微软和英特尔组成的Wintel生态,把持着85%的桌面系统市场份额,而在2010年形成的由Arm+Android、IOS的组成AAI生态联盟,在手机领域市场份额占比几乎是100%,而在这个10年,新的生态极有可能在近期出现,而正如我们前文所讲,无论谁最终笑傲江湖,Linux大概率都会是最后的赢家,围绕Linux的生态正在爆发前夜,所以可以看到最近包括微软、华为在内的众科技巨头都开始竞相与Linux社区拉近关系。
不过在生态建设方面,我国企业踩过的雷,趟过的坑也实在不少,之前我们很多从事操作系统开发的公司都往往过于重视技术,却忽略了对于应用生态的支持,但是毕竟独木难支;独臂难挽,用户所需要的并不是一个单独的操作系统,而是运行在操作系统上的各种应用软件。在这方面最典型的例子就是红旗 Linux了,红旗 Linux在初创时期就曾经虎口拨牙,从微软的Windows手中抢到了不少订单,到了2001 年7月,红旗的 OEM 订单超过100 万套。不过虽然红旗从操作系统本身的稳定性、安全性都堪称优秀,但是一台没有Office、PS,不能玩游戏的电脑,对于用户来说也是没有价值的。与拥有成熟生态的 Windows 相比,红旗 Linux只能甘败下风。
而有关生态的问题,笔者在刚刚闭幕的华为全连接大会上,听很多开发者都谈到了这样一个不符合逻辑奇怪的现象,那就是鸿蒙发布的同时,却没有发布与之对应的鸿蒙开发板。用笔者一位前辈的话讲,如果一个操作系统不能亲身调试,那么它是不够鲜活的,难以说服开发者入局参与,有关这个情况笔者也请教了华为的人士,其实这也是华为从自身生态建设角度老师所做的决定。
由于众所周知的原因,华为对于芯片是进行了“饱和式”备货的,靠芯片库存维持两到三年的生产不成问题。不过出人意料的是,由于各大晶圆代工厂相继断供,这也使得华为海思芯片成了天然的限量版,从而具有不小的收藏价值,甚至坊间传出不少炒房团体正在溢价收购海思芯片进行投资的风闻。
其实芯片行业的毛利润并不高,像华为这样的大厂最看重的还是由芯片与操作系统所共同创造的生态环境,而如果芯片没有流向实体产业,而是被束之高阁被收藏起来,那么对于华为的鸿蒙+海思的生态战略将会有不小的负面影响。炒房也许能够兴邦,不过炒“芯”必会误国。
从笔者掌握到的情况来看,在十一国庆假期之后,鸿蒙的热度稍降之后,像南京厚德小熊派的海思芯片系列鸿蒙开发板就可以从淘宝上买到了,笔者这里也呼吁各位读者,如果只有收藏的需求,请您不要购买鸿蒙的开发板了,这也算是为华为的鸿蒙生态建设作出一定贡献了。
笔者非常欣喜的看到,在鸿蒙创立之初就提出了“共建、共享生态”的口号,华为从上到下,对于鸿蒙生态体系建立的重要都有着清醒的认识,相信未来给鸿蒙也会建立属于自己的应用商店,鸿蒙OS的应用开发者,不但会得到华为的大力支持,还能在分润方面得到更多的倾斜,而且在今年的全连接大会上,华为还加入了两天的开发者嘉年华的环节,可以预见在未来华为还将继续携手全国150万开发者共同成长。
没有一个冬天不会过去,也没有一个春天不会到来,可以说现在就是鸿蒙2.0借物联网的东风,建立自主生态的最佳时机,如果再继续深耕开发者,培育生态,相信鸿蒙乃至中国操作系统的未来,可期!
转载:https://blog.csdn.net/BEYONDMA/article/details/108936633