最新网址:sk.x3qdu.com

第166章 曙光一号研发(二)

作品:《 香江:从破产电器厂到全球巨头》

随着曙光一号进入设计中期,操作系统的问题浮出水面。硬件设计再先进,如果没有操作系统支持,对用户来说就是一块无法交互的铁板。当时市面上主流的个人计算机操作系统有两个:微软的MS-DOS和开源的CP/M。前者需要向微软购买授权,费用不菲,且授权条款对硬件平台有诸多限制——微软要求所有预装DOS的机器必须通过其兼容性测试,测试费用由硬件厂商承担,且测试周期完全由微软排期。CP/M的源代码虽然公开,但架构老旧,对十六位处理器的支持非常有限,更不用说曙光一号的三十二位数据总线和精简指令集架构——CP/M的底层I/O驱动和内存管理都是为八位机设计的,移植到曙光一号上需要重写大量汇编代码,工作量不亚于从头开发一个新系统。

李家港在实验室白板上画了一个矩阵。横轴是操作系统的几个核心功能:内核、文件系统、设备驱动、用户交互界面。纵轴是几种可能的选择:购买MS-DOS授权、移植CP/M、自主开发。他在每个交叉格子里填写对应的成本、时间和风险,然后退后两步,看着满白板的标注沉默了一会儿。MS-DOS授权费加上兼容性测试的时间成本,对曙光一号目前以教育市场和中小企业为目标客户的定位来说负担过重——这笔费用会直接转嫁到整机售价上,让曙光一号在价格上失去对进口同级产品的竞争优势。移植CP/M的技术门槛虽然比自主开发低一些,但移植后的系统无法充分发挥三十二位总线和精简指令集架构的性能优势。他在“自主开发”那一行用红笔逐项填写——内核只保留最基础的进程调度和内存管理,文件系统只支持FAT格式的读写以保证与MS-DOS的数据盘兼容,设备驱动只需要支持曙光一号板载的键盘、显示器和音频接口。他在这几行字旁边加了一行备注:“第一版不求功能强大,只求足够轻量、足够稳定、能跑在曙光一号上。”

林知夏靠在实验台旁边,手里端着方洁瑛刚端上来的搪瓷缸。他听完李家港的分析之后放下缸子走到白板前,在“自主开发”那一行拿起记号笔画了一个圈,说这个系统的核心是精简——内核只做进程调度和内存管理,文件系统只做FAT读写,驱动只做键盘、显示和音频。精简指令集处理器的精髓是精简指令,精简操作系统的精髓是精简服务层——每一层只做最小必要的事,剩下的留给应用软件。他给这个系统起了个内部代号叫“曙光OS”,字体和他画架构图的笔迹一样简练。李家港在他身后补充了一句,说从今天起操作系统不再只是微软和IBM的后花园——创世纪正在用自己的处理器和操作系统,为华资制造业开辟一条从硬件到软件全链路自主的道路。

消息传到车间时,阿强正在实验台前逐只抽检磁鼓底座的接触压力曲线。他把探头拔下来放在桌上,说这个OS的驱动层能不能像品控手册的流程图一样——每一个I/O端口都有对应的标准接口,驱动层只做读写,不做任何多余的事。这句话后来被林知夏写进了曙光OS驱动架构设计规范的第一条原则。老钱从版图台前抬起头,推了推滑到鼻尖的眼镜,说他的版图里有几个空闲的I/O端口,本来是为未来扩展预留的,如果OS的驱动层需要独立的调试串口,可以在版图上直接加一个引脚的引出线。刘师傅从注塑车间探出头,说外壳后面是不是要开一个新的串口孔——他在模具水路图上临时加了一道标注,把串口孔的排水槽和原来的外壳卡槽排水槽合并到同一条水路里,省了模具改动的工时。

操作系统开发团队的搭建比芯片设计团队更让李家港费神。全球能做精简指令集处理器物理设计的工程师屈指可数,但至少还有;而愿意在一家华资电子厂从头写一个操作系统的软件工程师,在当时简直是凤毛麟角。他通过林知夏在斯坦福的校友网络辗转联系到几个候选人,最终通过方工的旧关系从内地一所高校的计算机系找到一位年轻的讲师,姓孙,是恢复高考后第一批计算机专业毕业生,在编译原理和操作系统内核方面有扎实的功底,曾用汇编语言为国产小型机写过一套简易的实时监控程序。孙工第一次来创世纪时是坐火车从内地到深圳,再从深圳搭渡轮到九龙。他穿着洗得发白的中山装,拎着一只帆布包,站在创世纪铁门前抬头看了很久门楣上那块招牌,然后对来迎接他的林知夏说他是从宝安无线电厂方工那里听说创世纪在做自主处理器的。方工在信里写了几个字:“他们在做处理器,需要写操作系统的人。”他把那封信从口袋里掏出来给林知夏看,信纸已经磨得起了毛边,显然是反复翻看了多遍。

孙工的加入让曙光OS项目正式启动。他在实验室里开始逐行编写操作系统的内核代码,李家港在白板上画了一棵更大的产品家族树。树干上已经挂着星辰收音机、视霸录像机、曙光一号和调制解调器模块,现在他在曙光一号旁边画了一个新的方框,标注了曙光OS的内部代号。这棵产品家族树从模拟电路的根系出发,穿过消费电子的枝干,跨过数字逻辑的分叉点,现在终于在操作系统这一层长出了自己的叶子。方洁瑛从设计工作室过来送新一批外壳配色终稿,看到白板上这棵越来越茂密的产品家族树,在外壳设计稿的空白处用炭笔画了一个极小的启明星符号,写下了操作系统的第一行版本号。她的笔迹和当年在收音机说明书上画的第一颗启明星一模一样——起笔轻,收笔稳。李家港在旁边用红笔圈出了日期,对林知夏和孙工说,今天曙光OS正式立项。从今天起,曙光一号不再只是一颗处理器——它是一台完整的计算机,有自己的心脏,也有自己的灵魂。窗外九龙塘的夜色已经完全沉降,实验室里的灯还亮着,孙工在他的新工位上编写内核的第一段引导代码,林知夏在旁边对着白板上的架构图逐行标注操作系统与硬件之间的接口规范。两个人在各自的精度世界里入了定,一个在软件层逐行搭建内核,一个在硬件层逐行优化时序。他们之间隔着一张白板,但用的是同一套语言——逻辑、时序、接口,和祖父当年在闸北炮火里绕线圈时用的语言一模一样。注塑机还在有节奏地运转,刘师傅在模具侧面那块白漆记录板上写下新一行保压参数,车间深处传来巡回保养车缓缓驶入泊位的引擎声。白板上曙光OS的方框旁边多了孙工的签名,和所有已经签过名字的方框一起,静静地指向同一个方向。