Ken Thompson与C语言、Unix

来源:互联网 发布:linux修改root密码sudo 编辑:程序博客网 时间:2024/04/29 04:48
   肯·汤普逊(Kenneth Lane Thompson,1943年2月4日-),一般称之为KenThompson,为美国计算机科学学者,与丹尼斯·里奇同为1983年图灵奖得主。  1943年汤普逊出生于美国新奥尔良。1960年就读加州大学伯克利分校主修电气工程,取得了电子工程硕士的学位。1966年加入了贝尔实验室。汤普逊参与了贝尔实验室与麻省理工学院以及通用电气公司联合开发的一套多用户分时操作系统,名叫Multics,同时他自己写了一个“startravel”游戏可运行于Multics之上。贝尔实验室后来撤出Multics计划。汤普逊只好找到一台老式PDP-7机器,重写了他的“startravel”游戏。  在开发Multics的期间,汤普逊创造出了名为Bon的程式语言。汤普逊花了一个月的时间开发了全新的操作系统,UNiplexedInformation and ComputingSystem(UNICS),可执行于PDP-7机器之上,后来改称为UNIX。第一版的Unix就是基于B语言来开发的。Bon语言在进行系统编程时不够强大,所以Thompson和Ritchie对其进行了改造,并与1971年共同发明了C语言。1973年Thompson和Ritchie用C语言重写了UNIX。安装于PDP-11的机器之上。  1983年,美国计算机协会将杜林奖(图灵奖)授予汤普逊与丹尼斯。  2000年12月时,汤普逊退休,离开贝尔实验室,成为了一名飞行员。   KenThompson,C语言前身B语言的作者,Unix的发明人之一(另一个是Dennis M.Riche,被尊为DMR),Belle(一个厉害的国际象棋程序)的作者之一,操作系统Plan9的主要作者(另一个是Rob Pike,前不久被google挖走了)。Ken爷爷也算是计算机历史上开天辟地的人物了。1969年还是计算机史前时代,普通人都认为只有大型机才能运行通用的操作系统,小型机只有高山仰止的份儿。至于用高级语言来写操作系统,更是笑谈。Ken爷爷自然不是池中物,于是他和DMR怒了,在1969年到1970间用汇编在PDP-7上写出了UNIX的第一个版本。他们并不知道,一场轰轰烈烈的UNIX传奇由此拉开了序幕。Ken爷爷在1971年又把Unix用C重写,于是C在随后20年成就了不知多少豪杰的梦想和光荣。Ken爷爷还有段佳话:装了UNIX的PDP-11最早被安装在BellLab里供大家日常使用。很快大家就发现Ken爷爷总能进入他们的帐户,获得最高权限。BellLab里的科学家都心比天高,当然被搞得郁闷无比。于是有高手怒了,跳出来分析了UNIX代码,找到后门,修改代码,然后重新编译了整个UNIX。就在大家都以为“这个世界清净了”的时候,他们发现Ken爷爷还是轻而易举地拿到他们的帐户权限,百思不解后,只好继续郁闷。谁知道这一郁闷,就郁闷了14年,直到Ken爷爷道出个中缘由。原来,代码里的确有后门,但后门不在Unix代码里,而在编译Unix代码的C编译器里。每次C编译器编译UNIX的代码,就自动生成后门代码。而整个BellLab的人,都是用Ken爷爷的C编译器。
原创粉丝点击