转自: http://blog.csdn.net/programmer_editor/archive/2006/09/29/1305758.aspx
自图灵奖诞生以来,其获得者一直都是计算机领域的科学家与学者,而在所有这些届的图灵奖中只有唯一的一届有个例外,那就是 Ken Thompson 与 Dennis M. Ritchie ,他们都是计算机软件工程师。
Ken Thompson , 1943 年出生于美国新奥尔良。 1960 年, Ken 进入加州大学伯克利分校主修电气工程。 1965 年从伯克利毕业后,又花了一年的时间在该校取得了电子工程硕士的学位。不知道是时代造就英雄,还是英雄顺应时代而生,在 Ken 读书期间,正好赶上了计算机时代蓬勃发展的起步阶段,自小喜欢电气的 Ken 接触到计算机后,立即完全沉迷了进去,从 1962 年的开始,他就在学校的计算机中心找到份工作,专门负责程序的编写。这也为其后他一手开创的 Unix 时代奠定了良好基础。
1966 年离开校园的 Ken 加入了贝尔实验室。那时的计算机系统还是批处理的天下,程序员只能在又慢又笨重大型机上工作,一般来讲是先将程序卡片装入设备,然后再等 1 个小时再过来取回运算的结果,其效率之低可想而知。应市场的需要,当时贝尔实验室与麻省理工学院以及通用电气公司联合开发了一个多用户分时操作系统,取名为 Multics( 多路信息计算系统 ) , Ken 当时就是这个系统的开发人员之一,在开发 Multics 的期间, Ken 创造出了名为 Bon 的编程语言。可惜因为这个系统不但开发周期长,成本高,而且庞大而缓慢,市场前景完全不被看好,最后贝尔实验室从这个项目中撤了出来。这对于 Ken 而言,简直是个巨大的不幸,因为他自己用写的一个“ star travel ”游戏就是完全基于 Multics 的,退出 Multics 项目意味着 Ken 将没有机器可以再玩这个游戏了。
面对此情此景, Ken 作为一个创造者的本性立即体现了出来,于是他决定自己写一个操作系统来满足他玩游戏的需要,说干就干, Ken 找到了一台废弃已久的老式 PDP-7 ,并在这台机器上重写了他的游戏。在这个过程中, Ken 有了一个主意,要开发一个全新的操作系统。利用 PDP-7 上的汇编语言, Ken 只花了一个月就编写完了操作系统的内核,在这个一个月中,他一周一个内核,一个文件系统,一个编辑器和一个编译程序的完成。做完这个系统后, Ken 将其命名为 UNiplexed Information and Computing System ,缩写为 UNICS ,后来做了一下改动,称为 UNIX ,在开发第一版 Unix 的过程中, Ken 还开发出一种新的语言,即 C 语言的前身—— B 语言,这种语言简洁明了,接近于硬件语言,第一版的 Unix 就是基于 B 语言来开发的。
Unix 的出现开始虽然并不为大家所看好,但是却引起了贝尔实验室另一位同事的注意,这就是 Dennis M. Ritchie ,于是 Dennis 主动加入了进来共同完善这个系统。至此一场轰轰烈烈的 Unix 的传奇时代才真正的拉开了序幕。 1972 年,他们联手将 Unix 移植到当时最先进的大型机 PDP-2 上,由于 Unix 是如此的简洁、稳定与高效,以至于当时大家都放弃了 PDP-2 上自带的 DEC 操作系统,而完全改用 Unix ,这时的 Unix 已经开始走向成熟了。在 1973 年之前 Unix 还不太为外界所知,到同年 10 月, Unix 在 IBM 举办的操作系统原理专题研讨会上被提及,当 Ken 和 Dennis 在会上宣读论文并展示 Unix 后,整个会场轰动了,大家都立即涌上来索取这种新型的操作系统的程序。随着 Unix 的需求量的日益增加, Ken 与 Dennis 决定将 Unix 进一步改写,以便可以移植到各种不同的硬件系统,由于 Unix 的原码中不少是用汇编完成,不具备良好的移植性,正好 Dennis 在 1973 年在 B 语言的基础上开发出了 C 语言, C 语言灵活,高效性,与硬件无关,并且不失其简洁性,正是 Unix 移植所需要的法宝,于是旧版的 Unix 与 C 语言完美结合在一起产生了新的可移植的 Unix 系统。随着 Unix 的广泛使用, C 语言也成为了当时最受欢迎的编程语言一直到延续至令。
说到 Unix 与 C 语言,还有一段小故事,当时安装了 Unix 的 PDP-11 被放在贝尔实验室供大家使用,有一天大家伙发现 Ken 总是可以得到最高的权限轻松进入他们的帐户,在贝尔实验室这种高人云集的地方,这简单是太不能容忍了,于是有若干高人跳了出来,仔细分析 Unix 代码,找到后门,修改后再重新编译整个 Unix ,当所有人都以为这个世界应该从此清静了的时候,却发现 Ken 还是很容易就取得了他们的帐户权限,为此大家郁闷不已。至到很多年后, Ken 才道出其中的原委,原来代码里确实存在后门,不过并不在 Unix 代码中,而是藏在编译 Unix 的编译器里,每次编译器编译时就会自动加入后门代码,而当时整个贝尔实验室都用的是 Ken 所写的 C 编译器。
由于 Unix 与 C 语言的深远影响, 1983 年美国计算机协会将当年的图灵奖破例颁给了作为软件工程师的 Ken 与 Dennis ,并在当年还决定新设立一个奖项――软件系统奖,以奖励那些优秀的软件开发者,当然首个软件系统奖也是非他们两人莫属了。
虽然Unix 与C 语言让Ken 与Dennis 功成名就,但是他们两人都没有走那些IT 史上自己创业的通用套路,而是一直留在贝尔实验室从事其喜爱的软件开发工作。到了2000 年12 月时,Ken 正式退休,离开了工作了几十年的贝尔实验室开始享受他晚年的时光,但是Ken 怎么能闲得下来呢,于是他干脆将他的另一个爱好:飞机,变成正式的职业,成为了一名专职的飞行员。至此,他所开创的Unix 时代已经完全与他无关了。
资料链接:
http://en.wikipedia.org/wiki/Ken_Thompson
http://baike.baidu.com/view/1664692.htm