陈火旺:从“远望”到“银河”
(本文主要摘自雷勇《慈云桂传》)
陈火旺是我国计算机软件事业的开拓者之一,银河Ⅰ巨型计算机的重要组织者、参与者,孕育银河精神的重要亲历者,中国理论计算机科学事业的先行者,计算机学科建设发展的推动者,计算机软件人才培养的领军人物。他把一生献给了国防科技和国防教育事业,为我国计算机学科发展、软件技术创新和超级计算技术发展作出了历史性贡献。
陈火旺
1953年9月,陈火旺以优异成绩考人复旦大学数学系学习,至1956年7月学习3年,提前1年本科毕业。复旦大学数学系汇聚了苏步青、陈建功、杨武之等国内数学名师,陈火旺有幸聆听名师大家的授课和教诲,并在复旦大学严格系统的数学学习环境中,使他掌握了数学科学知识,培养了逻辑思维能力,学会了分析问题、解决问题的科学方法。
陈火旺参加过两次进修培训。第一次是留校工作之后即得到安排,1956年7月至1958年2月,到北京大学进修数理逻辑。他在北京大学进修期间,得到金岳霖、晏成书、王宪钧、胡世华、吴允曾等数理逻辑领域大家的教诲。在燕园一年多的生活、学习,受益匪浅、终身受用。参加这期数理逻辑班学习的学生,为计算机科学发展做出了突出贡献,有的成为中国计算机软件领域的领军人物。
1958年,复旦大学奉上海市安排举办计算数学训练班,许自省讲授程序设计、宗月娴讲授计算方法,数学系教师陈火旺讲授数理逻辑。
1965年9月至1967年2月,他受教育部派遣前往英国国家物理研究所( National Physics Laboratory)进修,学习计算机软件。这一年多的进修,陈火旺学习掌握了当时世界最先进的计算机软件技术,清醒地看到了中国计算机科学技术与世界的差距,开阔了眼界,明确了赶超世界先进水平的方向。回国后,被华东计算技术研究所借调,主持了我国第一个符号宏汇编器的设计与实现。
陈火旺(左一)、孙仲秀(左二)等留学生在英国格林威治天文台。
1969 年11 月4 日,国防科委召开“远望”科学测量船中心处理机方案论证会。慈云桂进京到会,详述了他在被隔离时精心构思的集成电路化、双机系统方案,获准领受百万次计算机试制任务。1971年春节后,经慈云桂努力,哈尔滨工程学院出面将复旦大学的陈火旺及在北京工作的夫人吴明霞,成为项目组成员。从此,他们也结束了长达十年的夫妻两地分居生活。
来到长沙工学院计算机研究所后,先后负责441B-Ⅲ、151、“银河-1”等多款计算机软件系统研究开发。曾任国防科技大学计算机系兼研究所副主任,国防科技大学研究生院副院长;少将;教授,博士研究生导师;1997年当选中国工程院院士。
1972年2月,美国总统尼克松访华后,中美两国关系逐步走向正常化,为中美两国进行科学技术交流打开了大门。7月,美国计算机科学家代表团访华,其中包括著名计算机科学家佩里、西蒙、克拉克等人。受国防科委邀请,慈云桂带陈火旺、齐治昌、王鸿武等到北京参加了接待工作,与美国同行就计算机技术进行了广泛交流。回到长沙不久,国防科委即向他们下达了为441B-Ⅲ晶体管通用计算机研制 Fortran高级语言编译器的任务。
Fortran语言是美国计算机科学家约翰·巴克斯( John Warner Backus)于1957年4月领导开发的全世界第一套高级计算机语言,首次用在IBM704计算机上。几年后他又连续推出 Fortran Ⅱ、Ⅲ、Ⅳ型,被誉为“ Fortran语言之父”。1977年10月,约翰·巴克斯获计算机界最高奖“图灵奖”。巴克斯长期在IBM公司从事计算机研究工作,他曾风趣地说,他大部分的软件开发最初的缘由都是因
为自己的懒惰。“我不喜欢写程序,当时我为计算导弹弹道编写程序时,就开始琢磨开发一个编程系统,可以让编写程序变得简单些”, Fortran语言于是应运而生。 Fortran语言从1957年起,积极适应计算机体系结构发展和社会需要不断扩展和优化,已先后推出Ⅰ、Ⅱ、Ⅲ、Ⅳ、66、77、90、95、2003、2008等90多个版本。
慈云桂将这一任务交给软件专家陈火旺负责。早在半年前的1971年底,齐治昌在学习算法语言时,就不懂的地方请教陈火旺。陈火旺感到有必要办个读书班,没几天便组织了一个计算机软件读书小组,成员有陈立杰、杨桃栏等,数学系的方舵、李庆承、卢贤民、郭浩志等人也加入进来。他们以陈火旺从英国带回的一本KDF9计算机Algol60编译器书为基本教材,将流程图用钢板刻印,互相做报告,对计算机编译器的基本理论有了比较深入的了解,小组直持续到1972年7月。
接受这一任务后,陈火旺自然将读书小组全体人员带去参加这课题研究,他们将 FortranⅡ、 FortranⅣ、 algol60翻译成中文,集中进行学习研究,消化吸收。陈火旺基本功很扎实,1973年春节前就将程序框图设计出来了。春节过后,开发组一起组织讨论,逐步完善,下半年开始写441B-Ⅲ机程序,数学子程序由蹇贤福负责,操作系统由陈立杰、王鸿武等负责, Fortran编译器由陈火旺、齐治昌、方舵等负责,汇编语言由李庆承负责研究开发,由于当时学校的441B-Ⅲ机外设不配套,年底前,开发组来到配套齐全的北京建筑科学院进行程序调试。至1974年底,程序调试出来,次年初计算机就运行起来了,当时长沙工学院各单位都来算题、搞科研,七机部706所、总参等单位派人参观学习。
尽管441B-Ⅲ机没有硬件磁盘,系统软件功能受到了一定限制,但 Fortran语言编译器及多种软件的成功开发,不仅大大拓展了计算机的功能,更重要的是为长沙工学院计算机研究所培养了一批计算机软件人才,积累了丰富的软件开发经验,对长沙工学院计算机研究所的软件技术发展具有里程碑意义。
441B-Ⅲ晶体管通用计算机是我国第一台配备管理程序和中断系统、可以运行四道程序的晶体管通用计算机,配备了较完整的标准程序库和 Fortran高级语言,在中国计算机发展史上占有重要地位。计算机体系结构采用了软、硬结合的思想,巧妙地应用了国外通道、中断、缓冲和多道程序的设计理念,主要技术指标较441BⅡ有很大提高,运算速度由每秒2万次提高到每秒5万次,存储容量更大,存储周期更短,设有快速变址存储器,外设增加到6种15台并由交换器控制,机器稳定可靠,维修使用方便,受到用户的普遍欢迎。
后来,吴泉源对此作了比较:“441B-Ⅲ跟441B-Ⅱ的主要差别,从硬件的角度来说Ⅲ型机规模大,速度快多了,更重要的一点是它里面有软件,Ⅱ型里面只有很简单的数学程序库和语言处理程序,Ⅲ型里面开始搞管理程序。441B-Ⅱ、441B-Ⅲ和441D这三个型号是当时在国防科委各个基地用得最多的计算机,都非常好用,用了好多年。可以说,441B-Ⅲ计算机在软硬结合这一点上特别是操作系统和编译语言研究方面,在中国计算机技术史上是具有划时代意义的。”
陈火旺加入科研团队后发挥了重要作用,从1973年至1979年,他带领软件组科研人员,在长沙先后开发出DJ151语言系统、符号宏汇编系统和FortranⅣ编译系统,成为国内第一个具备全局优化的编译系统,为151机的研制成功做出了重要贡献。为了纪念这段经历,编译系统起名为MPL,以纪念在长沙马坡岭的这段开发工作。
慈云桂(右二)、王振青、胡守仁、陈火旺(右一)讨论亿次机方案
1978年7月,国防科委在长沙召开“785工程”软件协作会议(即“787会议”),七机部、二机部、国防科技大学、湖南师范学院、湖南大学、武汉大学、复旦大学以及用户等十多家单位代表参加了这次会议。张震寰在动员中明确指出:“软件系统对巨型机十分重要,绝不能搞‘瓜菜代’,要下大力气解决。‘欺软怕硬’是要受历史惩罚的。”决定软件研究队伍以本所软件科研骨干为基本力量,又从学校其他系选调了20多名软件人才,同时联合兄弟院校及用户,积极开展全方位软件开发大协作。
面对巨大的像“天书”一样的软件开发任务,张震寰、慈云桂和陈火旺研究后,决定在全国率先采用软件工程化方法规范软件开发,制定了软件工程规范,对系统、应用和控制软件采用结构化程序设计。
1980年3月,慈云桂决定将主机与软件共同列为主攻方向,开始他兼任软件总体组组长,陈火旺、孟庆余任副组长,陈火旺重点负责Fortran(YHFT)语言,孟庆余负责操作系统(YHOS),吴明霞负责汇编语言(YHAL),陈立杰负责外围机软件。同时任命孟庆余为软件研究室主任,让他挑起重担。后来由计算机系兼研究所副主任陈火旺担任软件总体组组长。
从1979年8月至1983年6月,陈火旺带领孟庆余、陈立杰、吴泉源、吴明霞等一百多人组成的庞大的软件开发队伍,以“把脑袋别在裤腰带上”的拼命精神,长年累月超负荷工作,成功开发出200万行巨型机系统软件:功能齐全、使用方便、可扩充性强的分布式操作系统和批处理系统;根据巨型机特点,采用 ORTRAN 77标准文本,采用三级优化技术的向量 FORTRAN语言(YHFT),可进行向量运算扩充并配有向量识别器,增强了向量识别能力;能描述巨型机全部机器指令,发挥程序员编程技巧,充分发挥巨型机优势,实现程序高效运行的YHAL汇编语言;建立了80类292个模块数学子程序库以及多级诊断系统。
陈火旺,1936年2月5日出生,福建安溪湖头镇人,1950年俊民中学初中毕业,1953年,福建泉州培元中学高中毕业,考入复旦大学,1956 年,复旦大学数学系毕业留校,1970年调长沙工学院(国防科技大学),历任计算机系副教授、教授、系副主任、研究生院副院长,1997年当选工程院院士。2008 年2月2 日在长沙逝世。