8月13日,银河麒麟操作系统V10正式发布,其最大亮点就是专门对于国内自主研发的龙芯、飞腾、鲲鹏等芯片做了专门的优化,这款操作系统也得到了我国基础软件领域的泰斗倪光南院士的青睐,他表示麒麟操作系统的安全性已经成为国内操作系统中的佼佼者,安全等级代表着国内最高等级水平,不仅如此,倪院士还对麒麟系统十分有信心,并表示相信国产自研操作系统将会在三五年内打破国外垄断。
无独有偶同样也是8 月 13
日的全国计算机体系结构学术年会(ACA2020)上,龙芯中科董事长胡伟武作了名为《指令系统的自主与兼容》的特邀报告,在报告中他宣布了龙芯的全新的LoongArch
指令集,目前LoongArch 将完全自主自研,放弃全部国外的技术,而且LoongArch又可以深度兼容Windows、Linux、Android程序,可谓一举多得,同时华为也在近期宣布最早在9月发布搭建鸿蒙2.0系统的Mate Watch,同时国内著名的芯片公司全志科技也宣布与平头哥全面合作基于玄铁IP的AIoT系列芯片,而且国内装机量最大的国产物联网操作系统Rtthread,也针对玄铁的RISC-V指令集,做出了相应优化。如果把操作系统比成管家,那么芯片的指令集,就是芯片的语言,操作系统需要把用户的指令,翻译成芯片的语言交由芯片执行,也正是如此芯片和操作系统一般都会搭档联盟,共同构建生态,而我们自主的鸿蒙加海思,玄铁加IoT,麒麟加龙芯的联盟已经初见雏形,呼之欲出了。
不过笔者这里还是要提醒业界同仁,我们的芯片、操作系统在自主道路上依旧行程漫漫、困难重重,单是要把完全自主的芯片造出来就非常之难了,从现实的角度来讲,我国实际上是没有重点发展芯片设计软件及芯片制造产业的,这点笔者的前文《国产“芯”回忆录》中曾经提到过,二十几年前我们搞EDA的程序员改行去组装电脑,搞光刻掩膜的工程师改行去卖早点,而这样的例子其实并不罕见,而想在工业软件和光刻技术方面快速突破,这也显然不符合一般的科研规律。
而且即使我们芯片造出来,也很可能面对生态、体验等问题,目前桌面类的操作系统基本上被Windows+Intel的Wintel联盟所把持,其市场份额占比高达85%,而在移动桌面Arm+Android或者IOS的AAI联盟市场份额占比几乎是100%,由于芯片加操作系统的组合直接将应用软件的可执行文件进行了深层的锁定,如果想对应用进行跨操作系统的迁移,需要投入巨大的移植费用。因此一般应用软件都有只会支持主流的操作系统平台,其它小众平台基本不会考虑,因此即使造出了自研芯片与操作系统之后,也会面临没有软件可用的情形,或者在生态成型之前直接被扼杀,这方面教训都是相当深刻的。
欲成器先渡劫
近10年,银河麒麟操作系统一直是我国Linux发布版本,市场占有率的第一,而在20年前这个第一的位置属于红旗Linux。
红旗Linux-没有生态的悲剧: 在众多国产操作系统中,红旗 Linux可以说是非常具有代表性的一个。红旗 Linux诞生于
1999年,主打安全特性,供政府机关事业单位使用。在 2001 年北京市政府桌面操作系统产品软件采购招标中,年轻的红旗
Linux,虎口拨牙,从微软的Windows手中抢到了订单,成功中标,这一事件对于微软的刺激很大,据说直接造成了微软中国的人事大调整。除了政府订单,在本世纪初IBM、惠普等厂商,也曾在其笔记本产品中预装过红旗
Linux,到了2001 年7月,红旗的 OEM 订单超过 100
万套,红旗Linux也就顺理成章的成为了国产操作系统的一哥,不过幸福来得太快也让红旗Linux团队完全没有意识到生态的重要性,虽然稳定性、安全性都没有什么问题,但是一台没有Office,不能玩游戏的电脑对于用户来说也是没有价值的。
当时将预装红旗 Linux 的电脑格式化后重装
Windows系统已经成为了一项标准动作了,甚至还很多电脑专卖店还将能为客户重装操作系统为自己的卖点。与拥有成熟生态的 Windows 相比,红旗
Linux只能甘败下风。虽然红旗还是推出了一些经典的版本,不过依旧不能阻挡其下滑的趋势。
2014年月
中科红旗正式发布清算公告,这也宣告红旗Linux正式解散。所以操作系统的竞争并不单单是操作系统层面的竞争,即使我们比Windows做得更好,也很难动摇
Windows 的地位。我们不但要做好操作系统,更要运用智慧,吸引全球的开发者加入我们的生态体系中来,唯有这样才能对传统强者发起挑战。
TRON-扼杀的惨案:我们都知道上个世纪80年代,美国对日本的半导体行业痛下杀手,但是值得注意的是在同一时期,日本的操作系统 TRON也被美国封杀。TRON
最初是东京大学教授坂村健发起的一个项目,旨在“为社会的需要创造一套独立自主的计算机结构和网络操作系统。TRON的创始人坂村健能够在30多年前就认识到互联网可能会成为未来社会的新的发展极,也真可谓是俊杰的人物。
到了80年代中期, TRON内核的操作系统日趋成熟,从桌面系统 BTRON,用于嵌入式操作系统
CTRON,再到汽车操作系统ITRON,当时TRON的生态也已经基本完备了。也正因如此TRON被日本寄予摆脱微软垄断的厚望。
而且尤其值得我们注意的是TRON 系统都是开源的,这也就意味着他的生态建立速度可以很快,一旦其形成气候,那么未来还有没有微软的Windows王朝都是未知数。
不过令人遗憾的是也恰恰是因为TRON的开源,使得美国充分认识到了其巨大的潜力,因此TRON VS MSDOS乃至Windows的局面并没有出现,美国政府直接在TRON发展壮大之前,就已经以“不公平贸易“为由直接将其扼杀在摇篮中,所有采用
TRON 的美国企业都将受到制裁,在这样的制约下,TRON不得以退出了 PC
市场。看到这里不知道各位读者作何感想,可以说30年前的TRON就是目前中国科技企业在美不公平待遇的一个翻版,美国对于这种封杀手段的运用可谓驾轻就熟,所以我们也需要对于未来的趋势抱有清醒的认识。
所以从这个角度上来看,我国自主的操作系统鸿蒙、银河等没有完全开源,可能也有一定道理,毕竟源代码是我们的底牌,没必要上来就明牌打。
他山之石,可以攻玉
正如笔者上文所说,做出一款能用的操作系统容易,但做出一整套的生态难,因此如果我们的操作系统能够直接兼容已有的成熟生态,可能是最佳的解决方案。而银河麒麟这里提出了kydroid技术,笔者感觉kydroid技术应该是受到QEUM虚拟化技术的启发,而成的一项模拟执行方案,不过其技术细节并没有完全公开,所以笔者也不敢加以妄言,不过龙芯在这方面应该还是有所突破的,龙芯实际上开发了一套翻译软件,可以将其它指令集翻译成LOONGARCH的指令。
目前计算机上运行的应用程序主要分为两大类型,一部分是基于虚拟机的托管类程序,另一部分则是直接运行在操作系统上的本地化程序,而在动态翻译虚拟机方面龙芯可以支持Java、JavaScript、.NET
三大虚拟机无须修改代码。
在二进制翻译本地程序方面,我们刚刚提到的QEUM 已经可以实现针对 X86、ARM 及
MIPS的翻译。而龙芯还专门提供了176条二进制翻译扩展指令对于此方面进行优化。
龙芯的二进制翻译系统名为 LAT(Loongson Architecture Translator)。根据最新的结果看,对于Linux 进程级
X86指令集的二进制翻译结果,是整形性能达到原生程序的 44.4%,浮点性能达到原生程序的 58.5%。虽然,相较 QEMU
这个成绩提升非常大,但是其中的性能损失依旧不小。据说龙芯内部将此翻译性能的目标定在了原生性能的80%,笔者也认为这如果达到了原生程序性能的80%,其用户体验是基本可以接受的。那么生态问题也可以通过这种途径迎刃而解。
华为的大招
目前安卓生态可能是世界上最开放,也是最完整的生态链之一了,因为安卓是一个开源项目,全世界参与AOSP的开发者都对安卓源码做出了贡献,这其中也包括了华为,所以安卓不是由某一家公司控制的,美国也很难对于华为搭载安卓进行限制。谷歌对于安卓生态的控制,实际是通过GMS(Google
Mobile
Service,谷歌移动服务)完成的。谷歌的方案就是用开源来扩大安卓阵营,同时又用闭源的GMS来获得利润。而且谷歌拥有GMS生杀予夺的大权。前几年阿里巴巴推出阿里云OS手机操作系统,谷歌认为这对安卓构成了威胁,就撤销了支持阿里云的设备商的GMS授权,使得这些设备商不得不放弃阿里的系统。这次谷歌对华为故技重施,也很快就产生了效果,华为手机在海外市场的销售受到非常大的打击。所以说华为转向完全自主的鸿蒙也是不得已而为之的。
不过鸿蒙操作系统可以说是一出生就伴随着争议,有人说鸿蒙将是民族的希望,也有人说鸿蒙只是个PPT操作系统,其实鸿蒙备受争议的主要原因还是因为有网友在购买了搭载鸿蒙OS
1.0智慧屏产品之后,通过软件助手等工具发现内核是Linux,其操作系统标示的是安卓,这与配置信息中显示的HarmonyOS并不一致。而鸿蒙一直以来都声称自己是一款微内核操作系统,而Linux又是典型的宏内核,所以鸿蒙1.0如果真是以Linux为内核,那么就不可能是一款微内核的操作系统,而这一信息一经公布就在全网引发热议。
其实有关宏内核与微内核的比较笔者在去年的文章《鸿蒙OS的微内核技术究竟是什么》已经介绍的比较详细了,宏内核将内核的功能都组合在一个内核态进程中完成,而微内核将许多在宏内核中的模块移出内核,使之运行于用户模式。宏内核的好处是各功能模块处于同一个地址空间,相互调用效率很高,弊端是体积太大,不利于在移动设备上进行部署。微内核的好处是功能模块各自独立,体积较少,方便进行移植也方便对其它体系的兼容。弊端是功能模块之间变进程间通信,CPU上下文切换代价很大,执行效率较低。
因此从鸿蒙微内核与安卓兼容两个关键信息结合,笔者这里猜想鸿蒙可能会利用其微内核架构,对于安卓生态的应用进行全面的继承与兼容。同时突破微内核的性能瓶颈,而软硬件协同来实现高性能IPC,恰恰是华为所擅长的领域。我相信海思可能正在研发一款支持高性能IPC的芯片了,这也类似于阿里云的MOC卡,使用硬件来使不同生态之间翻译转换的开销降到最低。
没有一个冬天不会过去,也没有一个春天不会到来,最近我们基础软件行业虽然好消息不断,鸿蒙加海思,玄铁加IoT,麒麟加龙芯均已问世,但是笔者这里也要指出两个隐忧,目前在全球最大的开源网站Github上,其新增用户中来自于我国的开发者占比超过40%,不过我国的开发者大多参与的都是人工智能或者中间件类的项目,而参与到基础软件的人并不多,笔者查询了今年以来的Patch List,我国开发者对于LINUX社区的贡献在这段时间并没有增多,而且我国电子厂商Oynx还出现了因违反Linux GPL协议的行为而被全网吐槽的情况,这里笔者必须再次向业界说明,争取LINUX社区的支持,是我们自主指令集、操作系统获得成功的关键因素,无论怎么强调也不为过。因此还需要大家齐心协力,共同维护我们在开源社区的形象,才能在这场竞争中占据不败之地。