被烧毁的技术资料
1978年3月18日,全国科学大会召开了。
这是一场铺垫了一年的大会,会期长达半个月。大会表彰了862个先进集体、1192名先进科技工作者和7675项优秀科研成果。更重要的是,对于全国所有的科技工作者而言,他们都得到了属于自己的表彰——在开幕式上,邓小平在发言中再次阐述了“科学技术是生产力”的论断,明确“为社会主义服务的脑力劳动者是劳动人民的一部分”,[1]摘掉了压在知识分子头上的“资产阶级”帽子。
春天的故事里,空气里的一切都在浅吟低唱着一句歌词:冬蛰结束了。作为国家教学科研的一线工作者,高校的教师是第一批报春的鸟儿,他们饥渴地寻找着每一点儿学习的机会。
秋天,华中工学院组织了一个20余人的教师队伍前往武汉钢铁厂[2]参观学习。武钢是那一年中国工业领域最耀眼的明星,耗资40亿元(约6亿美元)从联邦德国和日本引进的“一米七轧机工程”经过四年的施工装配接近完工,马上要投入试生产。
20世纪70年代初,随着中美关系的正常化,中国逐步回到世界大家庭中。借此契机,中央决定三至五年内引进一批国外的先进技术设备,预算总计43亿美元,这被称为“四三方案”。“四三方案”最终引入了26个大型工业项目,所有项目中,武钢的“一米七轧机”单项投资最高。耗资6亿美元“迎娶”来的“一米七轧机”并非浪得虚名,它具有当时的国际先进水平,热轧速度最快可达到每秒23.26米,25台电子计算机监管着长达三公里的生产线,可以实现无人值守、自动化生产。来自华中工学院自动化专业、经济管理专业和计算机专业的老师们十分好奇,想要赶快弄明白,到底是什么样的技术,支撑着战败国日本在三十年的时间里取得了如此高的工业成就。
12月12日,“一米七轧机”主体工程顺利建成,实现一次投料试车成功,全厂欢喜。日方的援建专家随后陆续撤离。就当冯裕才和其他老师迫切地希望能够看到工程的技术文件时,他们才被告知,为了防止核心技术流到中国人手中,那堆积起来能装满三卡车的原始资料早在日方专家撤离前就已经被小心翼翼地烧毁掉了。
亮红的铁水依然在生产线的指挥下奔涌流动,轧成的钢板冲入武汉冬天的空气中冷却暗淡下来,冯裕才的心却好像被这钢板狠狠地烫了一下。这是一个残酷的丛林法则:科技领先的国家是不会把核心技术施舍于人的,中国人应该,也必须把核心技术掌握在自己手里。
计算机软件的门类繁多,由此开始,冯裕才认真思考起究竟要投身于哪一个具体的软件领域。一组数据引起了他的注意:来自同时期发达工业国家的统计显示,用于各种管理的计算机占计算机总数的80%,还有用于控制的计算机占15%,真正用于计算的计算机不到总数的5%。管理领域最重要的软件就是数据库管理系统,冯裕才顿时明白,一个由国人掌握核心技术的数据库管理系统将会迸发出巨大潜力。
参观武钢“一米七轧机”的痛苦回忆影响了冯裕才的一生——研发自主数据库需要大量投入,每当“放弃自主研发技术路线”作为一个选项摆在公司的发展道路上时,冯裕才总是毫不犹豫地避而远之,坚持在艰辛而晨光熹微的小路上继续走下去。这个时候,是他心口的那块烫疤在隐隐作痛。
万事开头难,冯裕才要让自己在知识上缩短与前沿数据库技术的距离。为此,他组织了一个16人的数据库课题组,分工翻译和理解当时还十分不易获得的来自国外的数据库资料。课题组将大部头的数据库理论教材以章节为单位分解,再由相应的老师以读书报告的形式进行分享,这样的分工合作大大缩短了消化一本理论图书所需的时间,帮助小组成员汲取了许多开发所需的数据库知识。
就在冯裕才准备全力研究数据库知识的时候,一个看似与数据库不相关的任务突然降临到他的身上。
七机部希望,华中工学院能够组织老师开发一个小型操作系统软件,用于我国自研的一款航天系统。航天器在空中飞行会产生模拟数据,这些数据在空中处理后,要回传给地面进行分析。冯裕才需要开发的这套操作系统实际上就是地面上各个设备的“指挥官”。
这时距离冯裕才第一次接触计算机编程还不到三年,对于操作系统究竟是个什么东西,冯裕才只是读过几本书,有个大概了解,根本谈不上精通,甚至连选什么汇编语言都不知道。他能依仗的,只有大学时学到的机械制图知识、学习高等数学带给他的逻辑思维能力,以及此前参与开发Fortran语言编译系统的实操经历。即使这些能力加在一起,距离完整地开发出一套操作系统也山遥路远。
一切都没有头绪,冯裕才勉强接受了这一让他心里没底的任务,并谢绝了学校为他加派人手的提议,只身一人前往北京。
在清华大学,冯裕才接触到了NOVA系列计算机。NOVA系列计算机是美国数据通用公司(Data General,简称DG)于1969年开始陆续推向市场的一系列小型计算机,在20世纪70年代十分受欢迎。除了美国,日本和中国也研发制造出了能够与NOVA系列实现软件兼容的类似机型。其中国产机型叫DJS 100系列机,它是由清华大学、华东师范大学等单位参与研发的。NOVA机型上带有独立操作系统(SOS,Standard Operating System)。SOS是一个简单的管理程序,占用内存较少,它主要用于管理一些基本的输入输出设备,控制它们和主存之间的信息传输。这个系统的规模和功能与冯裕才即将开发的操作系统比较相近,这让他第一次庖丁解牛般地研究了一个商用操作系统的构成。
研究SOS的原理、设计思路和算法为冯裕才带来了启迪,可落到实际操作上还有很大的难度。操作系统想要成为各个设备的“指挥官”,一个先决条件是,所有的设备都能够与系统所在的主机相连,并且能够正常驱动运转。而摆在冯裕才面前的却是一堆来自全国各地的散件——北京生产的计算机、来自呼和浩特的绘图仪、来自牡丹江的磁带机、来自天津的宽行打印机等等。由于硬件之间缺乏标准接口,硬件要想相互连接并且搭配运作起来,需要计算机专业、自控专业、无线电专业的老师通力合作,研发相应的硬件接口。
冯裕才在大学学习的是液体火箭发动机专业,看起工程图来没有难度,可是老师们交给冯裕才的却是电路图。电路图上,走线密密麻麻地连接着各个设备的不同接口,第一次铺开它的冯裕才仿佛一头撞进了蜘蛛网。为了读懂电路图,冯裕才在编程的同时还花费了大量时间学习电子电路的图书资料。
操作系统编写完成后,冯裕才开始试着将所有设备连在一起,却发现程序不能正常运行。这是一个最令开发者沮丧的时刻——问题可能出在外设上,也可能出在程序上,冯裕才只能面对实验室内如盘丝洞中一般的走线和计算机上星罗棋布的代码,一个角落、一个角落地排查。这也是操作系统难于编译系统的地方:编译系统的运行遵循一定的顺序,如果出了错误,可以沿着运行逻辑慢慢排查;操作系统的异步任务如果出现了运行故障,则很难快速定位到错误点。
停滞持续了两个月,冯裕才进行了很多次调试,都查不到错误到底出在哪儿,这几乎成了让他寝食难安的一块心病。
一天夜里,半睡半醒之间,冯裕才又开始在脑中过代码。他的大脑就像是运行系统的计算机,默默地回顾完一个模块的代码,就开始想象这段代码所执行的信号在各个外接设备间传递的过程。忽然,他停住了,脑中的画面定格在了寄存器上。有一种直觉告诉他,就是这里出了问题。
第二天一起床,冯裕才就飞奔向实验室,他打开电脑,开始筛查寄存器相关的代码。果不其然,一个应该输送给AC3寄存器的数据被输向了AC1寄存器。寄存器的前面连接着计算机,后面连接着外设,计算机计算出的数据,需要通过寄存器送到外设上。正是这个错误,让操作系统的运行逻辑被中断,导致几个外设与计算机之间不能正常“握手”交换数据。
冯裕才急忙开始修改代码,敲代码的手微微有些颤抖,他觉得又好气又好笑,埋怨自己没有早点发现这个问题,又有点担心起来:如果修复了这个错误,系统还是继续宕机,那么另一个问题又会出在哪儿?
代码修改完毕,冯裕才再次启动了系统。这一次,没有出现任何问题,外设上嘀嘀嗒嗒地传出计算数据。冯裕才高兴得就像磁带机里的转轮一样,一边放声唱着歌,一边在实验室里转起了圈。
花了一年多时间开发出的这套操作系统,虽然并不复杂,但麻雀虽小五脏俱全。它很好地满足了国产航天器的核心需求,并在此后沿用了许多年,研发小组也凭此获得了七机部颁发的技术一等奖。
对冯裕才而言,他的收获不仅仅是积累了软件开发实践经验。编译系统搭起了人与机器之间的沟通桥梁,操作系统则将硬件和软件资源调配和管理起来,曾经从事这两类软件开发的经历并非对于数据库管理软件的开发毫无用途,相反,它们奠定了冯裕才对计算机的理解。数据库管理软件同时应用了编译系统和操作系统的技术。特别是操作系统,与数据库的关系就如同两个齿轮,彼此牢牢地咬合在一起,这让冯裕才的编程经历成为他调转方向进入数据库领域的最大优势。
另一方面,从零开始研制成功小型操作系统的经历,让冯裕才丝毫不惧怕基础软件的技术壁垒,反而更加重视自主核心技术的研发。在日后的许多年,特别是开源的基础软件蔚然成风后,冯裕才经常告诉自己的学生和同事:开源,作为一种学习工具、学习途径,是非常不错的,但是如果以“拿来主义”的态度对待开源代码,没有消化、没有理解、没有吸收、没有融会贯通,开源可能反而是有害的。
此后的四十年,无论软件市场上对于开源代码多么趋之若鹜,冯裕才始终坚持着自己的“开源三部曲”:第一步,吃透开源代码;第二步,扔掉开源代码;第三步,研发自主产权的同类技术。其中最难的点就是从第一步到第二步的跨越。
坚持数据库管理系统这类基础软件的自主研发是一个艰辛的过程,冯裕才在之后的四十年里,经历过孤独,经历过迷茫,险些被骗得家底全无,也借遍了亲戚朋友的钱维持公司的运营。这些都是1980年的冯裕才还不知道的。
他兴冲冲地离开北京,踏上返汉的列车,去和数据库课题组的伙伴们汇合,脑海中只有一件事:“我要去研发一款中国人自己的数据库了!”
[1]《中国共产党一百年大事记(1921年7月—2021年6月)之二》,参见:http://cpc.people.com.cn/n1/2021/0629/c64387-32143323.html。——编者注
[2]2016年,武钢与宝钢联合重组,组建中国宝武。——编者注