首页 > 推荐阅读

谈一谈国产操作系统的困局

国产操作系统是一个老生常谈的话题了,至少已经被提及了 20 年了,不管学术界还是商业界都想掺和一脚,但是,最终的结果却不尽如人意,用寒碜或者拉胯来形容一点都不为过。

这几年随着中美对抗升级,操作系统更是成为 14 亿中国人的心头疙瘩。

高端发动机都研发出来了,但是操作系统却遥遥无期,是不是操作系统比发动机更难,中国还有很多技术瓶颈没有突破?

当然不是!

把现有的操作系统深度修改一下,或者把现有的底层组件认真拼凑一下,就能开发出一个属于自己的操作系统,并且性能也不差,一个博士/教授团队,花上几年时间就能打磨好。

只要有几十亿的资金作为支撑,这个项目就必然能成,这是确定无疑的。

也就是说,从纯技术的角度说,操作系统比发动机简单多了,他们根本就不是一个 level 的。

操作系统之所以更加难产,归根结底还是一个生态问题,或者说是一个商业问题。因为操作系统不仅是一款产品,更是一个平台。

别人是否愿意在你的平台上开发软件,是否愿意成为你生态闭环中的一个参与者,这才是决定成败的关键。

一旦你的操作系统没有足够的装机量,就不会有大量的第三方软件;反过来说,第三方软件越少,人们就越不愿意装机。这是一个恶性循环,而且一般的手段无法破解。

鸿蒙系统之所以能够取得初步成功,就是因为他解决了装机量和生态之间的矛盾:
牺牲一点性能和体验,先跑起来,让越来越多的人去接受它,这就是鸿蒙的启动逻辑。

如果说鸿蒙 1.0 还有点拉垮,经常出现卡顿,那么鸿蒙 2.0 就是一个很能打的产品,只是偶尔才会出现卡顿,和 iOS 的体验差不多。

我使用过两年的 iOS,使用过半年的鸿蒙 1.0,使用过一年的鸿蒙 2.0,以上说法是基于我自己的实际使用感受,并没有具体数据作为支撑。

如果哪天 Google 全面禁止中国使用 Android,或者政府下达一道行政命令,那么所有的国内手机厂商都会使用鸿蒙,把 Android 完全替代掉。

至于其他手机厂商为什么现在不使用鸿蒙,其实答案也很简单:第一,你愿意把你的友商养肥吗?第二,你愿意被美国制裁吗?第三,你愿意放弃构建在原有系统之上的小生态吗?

Android 是开源的,是裸奔的,是年轻的,它的所有运行细节都能被人们看到,并且没有什么历史包袱,所以国产操作系统可以很好地兼容 apk 文件。但是对于 Windows,这一点就不成立了,因为 Windows 是闭源的,是穿衣服的,有很多细节都是隐藏的,所以你很难完全兼容 exe 文件。

之前有国人曾经做过尝试,并且搞出了 ReactOS、wine、loongene 这些产品,但是结果都不尽人意,最终只能不了了之。

事实上 exe 格式非常复杂,有大量的技术细节严格保密,其他人无从知晓,只能从有限的 API 文档去猜测内部原理,难度可想而知。

其次,Windows 自己也有很多版本,它们彼此之间可能都不兼容,微软为了解决这个问题也是煞费苦心。作为一个外部人士,没有开源代码和说明文档,你怎么搞懂这些呢?

再次,现在使用 C# 开发的程序越来越多了,它们都是基于 .NET 平台运行的,就算 .NET 已经开源了,裸奔了,你要想完全模仿也是需要下一番功夫的。

模仿.NET 虽然不容易,但并不是做不到,所以这不是制约国产操作系统的关键因素。

总起来说,相比移动端操作系统,电脑端操作系统将更加难以破局!

对于 Android,如果哪个公司有决心,就可以很快搞出一个替代品。但是对于 Windows,就不是有没有决心的问题了,而是能不能的问题了。

生态,是决定一个操作系统生与死的命门所在,想得天下者必先得生态。

重建一个全新生态的机遇期早就过去了,单纯的商业策略和爱国情怀已经解决不了这个问题了,目前比较靠谱的落地手段就是兼容已有的旧生态,然后慢慢孵化出自己的新生态。鸿蒙,就是这么干的。

当然,这些观点只是针对民用级的操作系统,而对于工业级/军用级的操作系统(VxWorks、FreeRTOS、QNX 等),我并没有相关经验,所以也不方便多说什么。

吐槽

有一些院士和教授,凭借自己的技术实力和人脉关系向国家申请科研资金,希望搞出一款具有自主知识产权的操作系统,它不但在技术上要有所创新,在性能上也要有所提升,在理论上也要有所突破。

他们的初心或许是好的,但是走出来的路子却是歪的,甚至有点扯犊子,因为操作系统压根不是一个技术问题,而是一个生态和商业问题,这种事最好交给一个有资源、有技术、有魄力和有机遇的公司去做。

推荐阅读