IEEE计算机学会网站刚刚发布了今年IEEE计算机先驱奖的结果。Linux操作系统的创始人Linus Torvolds因为“先驱性地通过开源方式开发Linux内核的工作”而获奖。
IEEE计算机先驱奖(IEEE Computer Society Computer Pioneer Award)是计算机界ACM图灵奖之外另一个顶级的技术荣誉,由IEEE计算机学会自1981年开始颁发。第一位获奖者是生于天津的华人科学家朱傳榘(Jeffrey Chuan Chu),他是世界上第一台通用电子计算机ENIAC研发团队的核心成员,曾担任王安电脑的高级副总裁。
1981年第一次颁奖时,曾经一次性授予之前做出重大贡献的32人“荣誉获奖者”(Charter Recipients)的称号,其中有多位图灵奖得主,如Wilkes,Hamming,Backus,Knuth,Dijkstra,Iverson,Newell,Brooks等,也有Zuse,Aiken,Amdahl,Seymour Cray,Grace Hopper等先驱。
1981年以来20多年通常每年颁发一次,但偶有中断(如2005、2007和2010),另外有很多年都不止一人获奖,如1996年有十多人(其中大多是前苏联和东欧国家的计算机先驱),1989年7人,1985年6人,1984、1995年有5人,1986、1987、1994年4人,3人的也有多年。近年来获奖者包括:
- 2011年,UIUC的并行计算专家David Kuck
- 2012年,MATLAB之父Cleve Moler
- 2013年,人工智能专家、图灵奖得主Edward Feigenbaum
图片来自Torvolds的Google+个人页面
1969年12月28日生于芬兰赫尔辛基一个瑞典语家庭的Linus Torvolds,父母都是新闻工作者(父亲Nils曾是芬兰共产党中央委员和欧盟议会议员),爷爷则是一位诗人。
Linus十几岁时就在Commodore Vic-20上编程了,使用汇编语言,那时候他也不知道还有其他编程工具,而且汇编语言对他来说很自然。此后在一台Sinclair QL计算机上,他做过很多开发工作,包括一种汇编语言、一个文本编辑器和若干游戏。
1990年他从军队退役,恢复在赫尔辛基大学的学业,首次接触到Unix操作系统。1991年1月他买了一台IBM PC,之后又从上课所用的Tanenbaum的操作系统书附带的磁盘里,装上了教学所用的MINIX。MINIX的功能非常少,4月,为了能顺利地阅读Usenet新闻组,他自己开发了用80386汇编语言一个终端仿真程序和一个负责任务切换的计时器。后来他回忆说,终端程序非常简单,就是两个进程,一个进程读取键盘输入,然后发送到连接到大学服务器的调制解调器,一个进程从解调器读取内容,发送到屏幕。然后,他又开发了设备驱动程序,以简化和抽象外围系统与内核的通信工作。接下来为了写磁盘驱动,他又写了一个文件系统。Linux诞生了。
1991年8月25日,他在Usenet上贴出了著名的帖子,第一次向世界介绍这种操作系统:
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)
Linus (torv...@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.
当时,似乎这种操作系统还没有取名。Linus自己想叫Freax(free and freak Unix-like),但他的朋友、源代码所在FTP服务器的管理员Ari Lemmke不喜欢这个名字,他在1991年9月上传操作系统0.01版源代码(当时只有10 239行代码)的时候,将目录名叫成了linux。而Linux的吉祥物——名叫Tux的小企鹅,则是Linus自己的吉祥物。
Linux可谓生逢其时。那个时间点,非常成熟的BSD由于法律纠纷还没有开源,雄心勃勃的GNU Hurd项目又停滞不前,PC已经渐渐成为主流,但配套的操作系统DOS功能很弱,而且是专有闭源的,技术社区对开源操作系统可以说是望穿秋水。而且刚刚兴起的互联网也为新技术的传播创造了条件。1987年MINIX这个教学系统发布两个月内,Usenet新闻组里就有了来自全球的4万多用户,可见需求之强烈。
而Linus Torvolds为Linux选择了GPL许可证,并得到了GNU基金会的认可,也使这个不成熟的操作系统内核获得了发展的关键动力。此后,得道多助的Linux发展极其迅速:
- 1994年3月1.0.0版发布时,代码行数已经达到176 250。
- 再过一年,1995年3月1.2.0版发布,代码行数310 950。
- 1999年1月2.2.0版代码行数1 800 847。
- 2001年1月2.4.0版,3 377 902行。
- 2003年12月2.6.0版,5 929 913行。
- 2013年,Linux 3.10版,15 803 499行。
今天,从设备数和领域来看,Linux已经是无可争议的应用最广泛的操作系统。
Torvolds除了Linux之外,2005年设计和开发的版本管理系统Git,也是广大技术人员日日接触的最常用的基础设施之一。基于Git的GitHub等社会化编程平台,日后对人类社会产生的意义可能不下于Linux。
此外,2011年秋Torvolds还开发了一款潜水日志软件SubSurface,也已经有十几种各国语言版本。
Linus妻子Tove和他们的女儿Patricia(1997年)
个人生活方面,Torvolds的妻子是芬兰空手道全国冠军Tove Monni(1993年编程课认识,然后Tove主动向Linus发起了进攻,现改名Susann),两人在1996、1998和2000年连续生了三个女儿,Linus自己和她们生日的十六进制形式就是Linux reboot系统调用中的那四个魔力数值。
Torvolds是Linux商标的持有者,虽然Linux为许多公司创造了数以十亿百亿计算的财富,但他来自Linux的直接收入除了Linux基金会的工资外,只有当年Red Hat和VA上市时赠送给他的股票,当时约价值2000万美元。
他现在已经很少自己为Linux内核编写代码,主要工作是将其他人的工作合并到内核中,但他仍然是Linux内核代码的最高决策者,而且对社区的各种直言不讳的评论时常见诸报端。
编辑责任:SegmentFault-沙渺