这个标题其实是有问题的,正确的说法是:
为什么中国没做出被广泛使用的商业操作系统?
我们先看看中国操作系统的发展简史,然后试着回答下这个问题。
1.70年代的超级工程
很多人不知道,我们在1973年就研发成功了自己的操作系统。
当时国家为了解决能源短缺问题,急需一个大型计算机来来处理石油勘探得到的海量数据,就组织北京大学、738电子厂和石油部等单位,研制中国第一台百万次集成电路计算机,即150机。
当时37岁的北大教授杨芙清也参加了研制工作,负责150机的多道运行操作系统。
从1969到1973,历经四年,150计算机研发成功,投入使用,为中国石油工业立下了汗马功劳,帮助石油部发现了多个油田,被誉为“石油勘探领域数据处理的第一次数字化革命”。
看150机的块头,很容易让人想到1963年IBM研发成功的System/360:
OS/360 和 150机都是所谓多道运行操作系统,就是支持多个程序同时运行,如果某个程序需要等待IO操作,就把他暂时挂起,调度另外一个程序运行。
(现在的操作系统是抢占式的:只要一个程序的时间片到期,就会让位让其他程序运行。)
从表面上看,似乎中国最先进的操作系统比美国晚了10年,但是,OS/360在设计之初就充分考虑了商业计算和科学计算,创新地提出了通用机器家族的概念,家族中的每个机器有着同样的架构和指令集,只是机器的性能不同。
更厉害的是,System/360面向全世界发货,到1966年已经建造了8000台之多!
而150机,根据我搜到的资料,一共建造了4台,用在石油、地质、气象等领域。
可能我们当时的国民经济对这种计算机的需求量确实不大,但是如果当时System/360进入中国,150机大概率是干不过的。
1973年,电子部根据全球计算机发展的形势,决定再来一场大会战,研发像System/360那样的系列化计算机,杨芙清又带队研发了240机的操作系统,全部用高级语言XCY书写。(我搜了一下,X表示徐家福,Y代表杨芙清,C可能代表仲萃豪)
240机操作系统经过8年抗战,1981年才完成,很快用于国防科研工作。
这段时间美国更是飞速发展,分时操作系统Unix在Bell实验室问世,Unix用C语言写成,有很多创新的概念(一切皆文件,管道等等),并且移植性很好,成为很多操作系统的“老祖宗”。
2.80年代:汉化DOS
1981年,蓝色巨人IBM发布了IBM PC兼容机,迅速建立起新的标准,形成了新的微型计算机产业。
无论是哪家公司制造的PC兼容机,都自带了同一个操作系统:微软的MS-DOS,MS-DOS已经成为PC的事实标准。
在大势所趋的情况下,1983年2月,国家计算机工业管理局在酒仙桥召开全国计算机协调工作会议,把生产IBM PC兼容机定为发展方向。
硬件厂商没有问题,关键在软件,微软的MS-DOS是个英文系统,不支持中文。
不过32岁的严援朝认为这不是什么大问题:“因为我前一段做了把电视机改装成终端的工作。不就是出两个汉字图形吗?很容易!”
于是,他带着三个大学生,一个中专生开始开发中文汉字系统CCDOS。
他废寝忘食,每天常常只吃一顿晚饭,一天睡三四个小时。
1983 年 8 月底, CCDOS 在展览会上露面,轰动一时。
CCDOS在中国PC发展史上具备里程碑式的意义,有了它才使得一大批国际上流行的软件:BASIC、DBase、AutoCAD、WordStar等被汉化推广应用。
后来吴晓军对CCDOS进行了改造,大幅压缩了打印字库,仅将一级字库驻留内存,推出了著名的CCDOS2.13,风靡全国。
再加上鲍岳桥开发的UCDOS,中文操作系统占据了90%的市场。
不过,所有的这些都是空中楼阁,因为基础是人家微软的DOS。
当90年代微软直接推出中文版操作系统,尤其是Windows95出现以后, CCDOS, UCDOS立刻遭受到降维打击,所有努力一夜清零。
3.90年代:耕耘Unix
1989年,原来机电部副部长曾培炎在出国访问时,了解到巴西开发了一个操作系统COBRA。
详细了解以后发现,COBRA投资了3000万,是基于AT&T 的Unix 做开发的。
巴西可以做自主可控的操作系统,中国也可以做啊。
经过专家讨论,自主可控不仅是计算机工业发展的需要,也是国家安全的需要,并且基于Unix开发自主版权的操作系统也是可行的,于是这项工作就列入了八五计划,交给了中软。
中软购买了Unix System V Release4.0 (一个经典版本)的内核源码,做了汉化,加上了增强版的安全机制,改造成了COSIX 1.0。
C代表Chinese, OS 代表操作系统, IX则是类Unix操作系统。
但是COSIX遇到了巨大的问题:
1. 计算机硬件更新换代很快,COSIX中没有硬件的驱动,用户使用非常不方便,系统推广很困难。
2. 软件生态严重不足,互联网时代到来以后,不得不自己开发了很多软件,例如中文服务器,中文邮局,中文BBS,中文传真。还有版本控制软件SVMS,可视化编程工具VJPE等。
这一点我是非常不理解,为什么不能采用国际上开源的、通用的软件呢?难道COSIX已经改得连POSIX标准都不支持了吗?
Linux在开发初期就支持POSIX,这是它能成功的一大因素啊。
不管怎么样,在90年代末Linux风暴挂起来以后,COSIX就没什么声音了,就连中软自己也跳到了Linux的船上,推出了中软Linux。
4对Linux 进行各种包装
90年代末,Linux率先在美国烧起一把火,各种Linux发型版如雨后春笋,互联网的泡沫期,只要能在纳斯达克上市,股价就能涨几十倍。
Linux内核免费、开源,中国自然也不会放过, 2000年左右,中文世界掀起了第一次“国产操作系统”的热潮,许多公司都尝试推出自己本地化的Linux发行版。
最知名的几个是国家队红旗Linux, 民间的蓝点Linux, Xteam Linux,联想的幸福Linux(没错,联想当年也在操作系统上下过功夫)。
2001年,中国政府首轮正版化采购中,北京市科委主任俞慈声带头干了一件轰动的事情:将微软踢出局,选择了中软Linux、红旗Linux、永中Office、金山WPS等在内的国产化软件。
不过,这次国产化的努力很快就失败了。
当时的Linux作为桌面操作系统,用户体验实在太差,软件生态极度匮乏,距离成熟的Windows有十万八千里,用户用起来非常不爽,怨声载道,要求立刻换回Windows。
当时很多台式机出厂时预装了Linux,很多买到机器后第一件事就是格式化,装个盗版Windows。
像我这样的程序员,也是在电脑里装个双系统,体验、学习下Linux,主要还是用Windows。
这时候微软推出了基于NT内核的Windows 2000,极大地解决了臭名卓著的蓝屏死机问题,后来又推出了Windows XP,彻底地终结了PC端桌面操作系统的战争。
不过,在服务器端,我们定制的各种各样的Linux操作系统得到大规模的应用,这一块儿不会受制于人了。
近年来,在信创政策的引导下,国产的Linux桌面操作系统在政府和公共机构落地应用,应用生态逐渐丰富,希望能发展起来。
5.向手机端进军
2007年,苹果推出了改变手机行业的iPhone,Google迅速跟进,采取了连横的策略,联合各个手机厂商建立了开发手机联盟,推出了开放源代码的Android。
我们错过了PC操作系统,难道还要错过刚刚兴起的手机操作系统吗?
这一次,中国移动亲自下场,它的思路是:我基于Android开发一个操作系统,帮助手机制造商定制,然后上面要带上我的各种业务如139邮箱、移动梦网、飞信等等,手机都叫OPhone,这样就围绕自己建立了一个类似苹果的生态。
这思路确实挺好,Google 不也是这么做的吗?但是中国移动没有Google的能力啊!
OMS系统很难用,界面丑陋,用户体验很差,SDK对开发人员也极度不友好。
虽然OMS有几百人的团队,但和Android相比,还是太弱小了,各个手机厂商的定制需求根本应付不过来。
Android发三个版本OMS才能发一个,版本不兼容,就跑不了Android的App,这就惨了,谁会单独针对OMS单独开发App啊。
2009年发布的联想OPhone居然不兼容安卓应用,很多用户购买联想OPhone以后第一件事就是刷机,换成其他操作系统。
几年以后,OPhone就销声匿迹了。
运营商搞不了操作系统,互联网企业不信邪,阿里上场,带来了阿里云OS。
阿里云OS也是基于Linux,然后Java虚拟机用了自家开发的阿里云虚拟机,和Android的Dalvik不同。在应用层,使用了一些Android应用的框架和工具。
Google把阿里云OS定性为“山寨Android”,山寨不山寨暂且不说,关键是Google发话了,谁要是敢用阿里云OS就把它从Android联盟中踢出去。
吓得宏碁立刻取消了和阿里云OS的合作,发布会都不开了。
阿里云OS只能放弃了手机端。改名为AliOS,主攻车机、物联网设备。
不过,手机厂商基于Android开发的系统却发展得不错:MIUI、Flyme、EMUI、ColorOS....它们随着自家的手机进入了用户手中。
Google还是技高一筹,Android开源,各个厂商可以随意定制,魔改,但是Google掌控住了最重要的东西:Google Mobile Service(简称GMS)
GMS包含了Search、Search by Voice、Gmail、Contact Sync、Calendar Sync、Talk、Maps、Street View、YouTube、PlayStore,这些都是在国外非常常用的应用。
在国内手机有没有GMS无所谓,在国外,手机没GMS是没人买的。华为手机在芯片没被制裁之前,由于不能使用GMS,导致销量大跌,就是这个原因。
至此,手机端的战争也已经结束,由于有开源Android的存在,中国定制的操作系统在国内没有任何问题,但是在海外市场,再一次被卡住了脖子。
6.未来会怎么样?
操作系统和一般的软件不一样,只有有生态的才能称为操作系统,生态在于:有应用,有开发者,有生态伙伴。
操作系统很难做,美国占据统治地位,别说中国,就是放眼全世界,曾经在操作系统领域占据一席之地的,也就是诺基亚的塞班了吧。
美国技术实力雄厚,有着巨大的先发优势,一旦把生态建立起来,赢家通吃,别人很难进入。
回看一下国产操作系统的努力,从小型机到PC,再到手机,确实挺艰难的,一直在模仿,汉化,包装别人的东西,别说生态了,从来就没有掌握过主动权。
国产操作系统的希望应该在下一波IT变革中,大家都在说物联网,但无论华为鸿蒙,Google Fuchsia都没有展示出手机操作系统那种一呼百应,迅猛发展的能力,可见火候未到。
未来会怎样呢?让我们拭目以待。
如需转载,请通过作者微信公众号coderising获取授权。