为什么搞操作系统这么难?

      一转眼才发现,好久没写点东西了。最近无意和朋友聊起这个话题,起因是英国和中国教育式的话题最近比较火,所以这里也就闲谈一下了。

      首先操作系统这东西的确很难,到现在为止,全世界能用的商业操作系,严格来说只有两种,Window和Unix/Liunx(安卓和IOS都是基于Linux/UNIX)。算算从IBM在1981年推出世纪第一台个人开始,到现在也有30多年了,全人类也就只折腾出这两个(Window和Unix/Liunx)系统,由此可见操作系统这东西的确难搞。

       但是中国“似乎”总是能创造“神话”,比如两弹一星,比老外少了多少年?现在“操作系统”认真搞搞,“理应”出得来的,但是事与愿违。

       这里延伸出个问题,创造“神话”的中国人真的就“聪明”吗?似乎在各种智力比赛中,中国人的身影一直很活跃,比如奥林匹克竞赛,中国金牌拿到的也不少,好像是这么回事。

       细细想想这几年中国的发展技术路子,引进-消化-吸收,做的“好”的,永远是那些功能单一的技术/产品。比如龙芯上一代产品,比速度?当然不怕,和intel相比也不遑多让,比单一运算能力?还超过了intel呢!但是这些单一的技术指标看起来漂亮,一结合成“通用计算能力”的时候就完全不行了。

       操作系统 和 CPU,虽然一个是软件,一个是硬件,但是属于一类技术:“系统整合”,单一的产品下,包含了非常多的体系,每个体系下分门别类有成千上万的子类别、功能点,每个功能点之间又会有相互依赖关系,这样形成一张“网”,任何一点缺失,都会导致这个网的“破裂”。

现在的结果是,只要涉及“系统整合”的产品,国产的总是不尽如人意。类似的还有个和计算机无关的产品-发动机。

       为什么呢?除了底子薄之外,只能说是教育体系的问题。

       系统整合 比较特殊,它不能通过白纸黑字写下来,也不能通过什么考试来有个数字的反应。

       比如机械,如果设出了图纸,那基本就能制作出来。

       比如算法,完全是能写成论文,发表在什么期刊上的。

       系统整合更多的是个“经验技能”,换句话说,必须得实践换来,得进行很多次的尝试才能有个结果,到目前为止,全世界也没什么好办法。

       两弹一星虽然很伟大,但是功能单一,包含的基础学科相比操作系统、CPU、发动机来说,要少得多,所以对于“系统整合”的要求也小。中国人攻克单一技术问题的能力的确让全世界侧目。因为中国对于有“标准”的东西做起来太容易了,考试的时候题目没看懂都能猜出来,所以那些功能单一的产品在中国可以迅速仿制。

       中国第一艘核潜艇下海的时候,美国人嘲笑说,在大洋彼岸不用声纳也能听的见。可见当时虽然搞出来了,但是很差劲,发展几十年才形成自己的“系统集成”能。

       现在整个社会对这些“隐藏”的技能都不重视,因为没有可靠的衡量标准,并且这种隐形技能的培养不是短时间能见到效果的,很少有企业能这么做,除了类似军工这样的企业能做到几十年的技术积累和技能培养。

       对于这方面的追赶,不要盲目追求“国产”,现有的就要直接拿来用,基于安卓做自己的开发,也不是什么丢人的事。重头研究一遍,最终结果也跳不出已有的圈子,毕竟生态圈已经建好了,你没法复制一个。就拿linux和window两个操作系统来说,它们之间不还有那么多暧昧不清的地方么?

       纯粹模仿没有出路,纯粹“国产”也没出路,应该学的地方就学,必须自己搞的地方就搞。拿龙芯这一次的发布来说,“不太丢人”才是最好的进步。

猜你喜欢

转载自wupuyuan.iteye.com/blog/2237116