大家好,我是执念斩长河。今天讲述的是1983年图灵奖肯尼斯·汤普森和丹尼斯·里奇。图灵奖奖励他们为软件技术和软件产业造成了深远影响。读完本篇大家可以收获的是:
- UNIX的诞生
- UNIX的特点
- C的诞生
- C对UNIX的影响
- 里奇心目中的UNIX成功原因
汤普森1943年2月4日生于路易斯安那州的新奥尔良。汤普森自幼的爱好有两个,一个是下棋,一个是组装晶体管收音机。由于爱好无线电,汤普森上加州大学伯克利分校时学的专业是电气工程,于1965年取得学士学位,第二年又取得硕士学位。之后加入贝尔实验室研发计算机。汤普森以极大的热情和极高的效率投入工作。开发基本上以每个月就完成一个模块(内核、文件系统、内训管理、I/O…)的速度向前推进,到1971年底,UNIX基本成形 。UNIX的主要特点:
- 作为多用户多任务操作系统,每个用户都可运行多个进程。
- 提供了丰富的经过精心编选的系统调用。整个系统的实现紧凑、简介、优美。
- 提供功能强大的可编程外壳(Shell)语言作为用户界面,具有简洁高效的特点。
- 采用树形文件结构,具有良好的安全性、保密性和可维护性
- 提供多种通信机制,如管道通信、软中断通信、消息通信、共享存储器通信和信号灯通信。
- 采用进程对换内存管理机制和请求调页内存管理方式实现虚拟内存,大大提供了内存使用效率。
- 系统主要用C编写,不但易读写,易懂,易修改,而且极大地提高了可移植性。
里奇比汤普森年长2岁,1941年9月9日生于纽约州的波浪克斯山庄。里奇中学毕业后进入哈弗大学学习物理,并于1963年获得学士学位。期间攻克硕士学位。而博士学习的是应用数学,毕业时写出数论论文,却没有参与答辩,也就是没有拿到博士学位。
里奇在剑桥大学理查滋开发的B语言基础上,巧妙地对它进行改进、改造,形成了既具有像机器语言那样能直接操作二进制位和字符的能力,又具有高级语言许多复杂处理功能如循环、转移、分支等的一种简单易学而又灵活、高效的高级程序设计语言。他们把这种语言称为C。
C对UNIX来说将UNIX的汇编语言完全变成C代码,简直是重写汤普森和.里奇在总结UNIX成功的秘诀是:对研究工作而言,受到过分的关注反而会影响创造力和自由地交换意见。汤普森强调了开发程序系统时环境和背景是非常重要。
第一张图汤普森,第二张图里奇