最近时间上较为宽裕,所以抽时间学习了一下 Fastify 和 鸿蒙开发这部分。
了解鸿蒙系统的时候,意外发现了一些很有意思的“历史”,一些关于国产操作系统的历史。
开端
中文操作系统的故事还要从上世纪七十年代说起,七十年代及之前,我国那时候可以说在计算机发展方面是当之无愧的“一穷二白”。
国产103计算机(图片源自网络,侵权联系删除)
国产的103与104机就是这一阶段的发明,这时候其实还没有真正意义上的操作系统。
直到第二代晶体管电子计算机才开始出现了操作系统的“影子”,那时候还叫“管理程序”,这个阶段我国出现了DJS-220、150、DJS-240,这些可以说是我国操作系统的拓荒者。
到了1981年,微软正式发布了 MS-DOS 1.0 操作系统,准确说这是比尔·盖茨花5万美元买来的。
MS-DOS 1.0 操作系统(图片源自网络,侵权联系删除)
当年是 IBM 委托微软开发操作系统,比尔·盖茨将买来的 86 DOS “一女二嫁”,在 IBM 上的叫 PC-DOS,而从微软卖出去的叫 MS-DOS。(也不知道IBM签没签独家)
MS-DOS是第一个真正投入实际应用的16位操作系统,在80年代成为了PC及兼容机的标准操作系统。
1983年,中国第一个巨型机上的操作系统YHOS 伴随银河-I巨型机诞生,也是在这一年,国内市场诞生了一个明星般的操作系统 —— CCDOS。
CCDOS V4.0原版软盘与使用手册(图片源自网络,侵权联系删除)
CCDOS这个操作系统解决了一个非常关键的问题:汉字存储和显示。
到1987年,微软发布了MS-DOS 3.3,在这个阶段微软成功取得了个人操作系统的霸主地位。
从八十年代末,到九十年代初这个期间,软件行业开始出现井喷。国产的操作系统平台出现了十几种,将 MS-DOS 死死压住,几乎占据了国内的全部市场。
其实今天来看,原因也很简单。国产开发者直到大家到底痛点在哪里,而远在大洋彼岸的微软并不知道,尤其中文适配的问题。
期间产生过CCDOS、晓军2.13、UCDOS、金山SPDOS等一众知名国产操作系统,这里面尤其是1993年发行的UCDOS,甚至一度占据国内90%以上的市场。
1991 年求伯君、李明开发的跑在 SPDOS 之上的经典 WPS 2.2,当年打字社、机关标配。(图片源自网络,侵权联系删除)
但实事求是的讲,这些所谓“国产”操作系统,并非是从零开发的,实际是对 MS‑DOS 的汉化,按照标准的业内叫法应该是“CC‑BIOS”。
也就是说这些操作系统并没有接管磁盘管理、进程调度、文件系统这些操作系统最核心的内核能力,它做的事情是拦截底层 BIOS 的输入输出,给原本只能识别英文字符的 DOS,装上汉字显示、中文输入法、汉字打印的能力。
如果说 MS‑DOS 是房子本身,而 CCDOS、SPDOS 只是一套专门用来在墙上写汉字的彩绘工具。房子不是自己盖的,工具再好,也依附于原有框架。
当然,同期国内也并不是没有人意识到内核的重要性,1989 年启动的 COSIX 从立项之初确定的路线就是自主研发。
COSIX系统光盘(图片源自网络,侵权联系删除)
但这个项目瞄准的目标并非个人电脑,而是小型机、工作站这些设备,并且它没有接入当时席卷全球的 x86 兼容机生态。
这意味着想要有一台能够运行 COSIX 系统的电脑,需要外设、驱动都单独定制,这些限制让 COSIX 根本没办法切入普通办公室与家庭。
市场竞争
很多人会把成败简单归结为“技术不行”,但操作系统的竞争,从来都不是一场内核单挑赛,而是一场绑定硬件、软件、开发者、用户的全方面生态战争。
因为,操作系统不仅仅只是操作系统。
从个人电脑开始走入千家万户,直到今天全球PC“秩序井然”,其实规则始终牢牢攥在 Wintel 的手里!
微软和英特尔(图片源自网络,侵权联系删除)
也就是:英特尔的 x86 架构,搭配微软的操作系统,这套逻辑构成了整个行业的底层标准。
全世界所有主板、显卡、声卡、打印机厂商,写驱动的时候,默认适配对象就是 MS‑DOS,之后顺势转向 Windows。
如果想要适配一套全新的国产独立操作系统,每一块外设,都需要研发人员从零编写驱动,成本高到难以想象,这几乎是不可能的。
时代迎来一次决定性拐点:计算机从字符命令行,转向图形界面。
Windows 1.0 操作系统截图(图片源自网络,侵权联系删除)
微软在1983年宣布推出Windows系统,1986年真正推出Windows 1.0操作系统,但却并没有收获预期的市场效果。
直到1990年 Windows 3.0 问世,微软的Windows操作系统开始逐渐成为个人PC的装机标配。
Windows 3.2 中文版程序管理器,无数国人接触图形界面的起点(图片源自网络,侵权联系删除)
而1995年8月发布的 Windows 95,这套操作系统的发布成为了整个操作系统历史上的一个里程碑,它迅速风靡全球,几乎占据了全世界所有的个人PC桌面。
Windows 95 开始菜单诞生,内置原生中文(图片源自网络,侵权联系删除)
反观国内,时间来到1998年前后,国内开始出现多种中文版的Linux产品。
比如中软发布的第一个64位国产操作系统COSIX64、中科红旗Linux、深圳信科恩软件技术公司的蓝点Linux、中标普华与国防科技大学合作的“中标麒麟”等等。
这里面尤其要说一下的是红旗Linux,红旗Linux 1.0于1999年8月发布,这款操作系统是由中科红旗软件技术有限公司开发的,在当时这款操作系统被寄予很大希望。
但保护下的花朵终究敌不过室外风雨的侵蚀,2013年底该公司资金链断裂,2014年8月被五甲万京收购。
红旗Linux(图片源自网络,侵权联系删除)
这时候,操作系统真正恐怖的壁垒开始发挥作用,也就是生态!
用户少,软件厂商就不愿意耗费人力移植。
软件稀少,普通用户自然没有动力更换系统。
没有用户,操作系统就没有迭代下去的理由。
一套循环下来,国内的操作系统厂商根本无力招架。
而微软依靠全球的授权收入,拥有源源不断的资金,用来补贴开发工具、拉拢软件厂商,形成了正向循环:用户量大 -> 软件适配 -> 系统迭代 -> 用户持续增长。
反观国内早期的操作系统项目,大多属于科研任务、财政立项,项目完成验收之后,很难形成持续迭代、自我造血的商业化循环。
当年五花八门的Windows装机光盘(图片源自网络,侵权联系删除)
更不用说微软的顶级“阳谋”,盗版的Windows系统几乎随处可得。
这种“传播”让Windows以近乎零成本的方式渗透进机关、学校、家庭电脑,一步步挤走国产操作系统的市场。
等全社会真正意识到,我们需要一套自主可控的桌面操作系统时,Windows 已经把整条产业链牢牢绑定,想要完成切换已经不可能了。
跳出循环
到这里你或许会扼腕叹息,当年因为种种原因,我们错过了 PC 爆发的黄金窗口期,简直是太可惜了。
但是现在我们已经有足够的研发能力了,为什么不再重新开发一套桌面操作系统呢?
答案是:代价太大。
各时期Windows系统(图片源自网络,侵权联系删除)
造内核本身,其实并不是最难的。
真正昂贵、漫长的,是一整套配套体系:图形栈、驱动框架、调试工具、开发库、字体、输入法,以及海量各行各业的生产力软件。
更不要说各种打印机、传真机、录音机、显卡、声卡等等硬件设备的适配。
标准一旦建立,后来者想要打破,需要付出指数级的代价。
不过你也不用太沮丧,如果你把视野放宽,跳出“替代 Windows 桌面”这个单一标尺,国产操作系统如今早已多点开花,在不同赛道站稳脚跟。
服务器与云计算,是国产操作系统最先拿下的阵地。
华为 OpenEuler 服务器操作系统(图片源自网络,侵权联系删除)
华为开源的 openEuler,如今在国内服务器市场势头强劲,运营商、金融机构、云厂商大规模部署,社区持续壮大。
阿里云飞天,面向超大规模集群,是一套原生分布式云操作系统,支撑着国内云上庞大的基础设施。
还有银河麒麟服务器版、凝思、普华、中兴新支点等系统主打高安全、工控、专用服务器场景。
服务器并不依赖花哨的图形界面,更看重稳定、安全、集群调度,天然适合国产系统落地。
开放麒麟 openKylin(图片源自网络,侵权联系删除)
桌面版也并不是完全被Windows扼杀了,在信创国产化的背景下,银河麒麟、统信 UOS(深度)等国产Linux操作系统正逐渐从“勉强能用”开始向“日常好用”过渡。
公文、OA、财务、国内办公套件基本完成适配,目前在机关、学校等场景中已经逐步铺开。
移动与物联网赛道,则出现了迄今为止分量最重的突破,就是“鸿蒙OS”。
它拥有自研微内核,走分布式路线,打通手机、平板、车机、智能家居,如今已是全球第三大移动操作系统。
鸿蒙的目标很明确,通过分布式的打法,沿着跨设备协同这条全新赛道,尝试搭建出一套独立于 Wintel、Android 的生态,目前已经初见成效。
鸿蒙OS(图片源自HarmonyOS官网截图)
除此之外,还有一大批普通人很少听说,但开发者们耳熟能详的嵌入式实时操作系统:RT‑Thread、翼辉 SylixOS,他们广泛运行在工业设备、机器人、家电之中。
结语
我们需要客观面对现实,当前桌面生态鸿沟依旧是最大的难题。专业生产力软件、小众行业工具、游戏的迁移,这将是一场漫长攻坚战。
回望这段历史,我们不必苛责当年的科研人员。CCDOS、2.13、SPDOS 不是失败品,它们出色地完成了自己的历史使命,让汉字顺利登上 PC,催生了 WPS,撑起了八九十年代国内信息化的根基。
它们是时代的解决方案,只是不是下一代通用操作系统。
今天国产操作系统的路线,也早已不再是 “复刻一个 Windows”。
一条路线是持续加强基于 Linux 的发行版,稳住政务、央企、工业等场景。
另一条路线,则依托鸿蒙,抓住万物互联这个全新赛道,争取在新的标准成型之前,建立属于我们自己的生态。
我是李剑一,一个回望风云际会历史的程序员。欢迎关注我的同名公众号《李剑一》。