Unix 和 C 语言的起源
20世纪60年代,麻省理工学院(MIT)正在大力开发不兼容分时系统(ITS)。与此同时,在美国东海岸的另一处地点,还有一家同样充满黑客精神的实验室:美国电话电报公司(AT&T)贝尔实验室。
改变世界的开创性Unix系统和C语言正是在此期间被开发出来。
巧合的是,参与Multics开发的人员也参与了ITS和Unix的开发: 麻省理工学院的团队启动了ITS项目,而贝尔实验室的肯·汤普森、丹尼斯·里奇和乔·奥萨纳则共同创建了Unix。

Multics项目始于1964年,但由于代码规模庞大且复杂,进度远落后于贝尔实验室的预期。
1969年,贝尔实验室退出Multics的开发。
基于在Multics项目中的开发经验,肯·汤普森在贝尔实验室独自创建了一个新的操作系统。
肯·汤普森在Unix中重新实现了他在Multics中开发的许多关键功能。
他将已在Multics中实现的文件系统适配到PDP-7上的Unix中。丹尼斯·里奇、乔·奥萨纳、鲁德·卡纳迪后来加入了他的开发团队。当开发工作进展顺利后,一个团队被组织起来,他们开始在PDP-7上首次实现我们今天使用的操作系统功能,如文件系统、进程模型、设备文件和命令行解释器。
随后,PDP-11被引入,其CPU指令集与PDP-7存在差异。
1969年,肯·汤普森和丹尼斯·里奇为Multics系统开发了B语言。
1971年,丹尼斯·里奇为B语言添加了字符类型,并重写了编译器代码以生成PDP-11机器码[3])。
1973年,基本功能完成,该语言被命名为C,它是B语言的下一版本。
同年,丹尼斯·里奇开始用C语言重写Unix。
丹尼斯为C语言添加了结构类型,用于定义用户自定义数据。如今,C语言已足够强大,可用于编写Unix内核。
尽管Unix和C语言是由肯·汤普森和丹尼斯·里奇在短时间内创建的,但至今大多数计算机(包括手机)仍运行基于Unix的操作系统。此外,操作系统内核至今仍主要用C语言开发。
计算机历史博物馆的阅读材料
- 大卫·C·布罗克,最早的Unix代码:周年纪念源代码发布,CHM
参考文献
- Multics,维基百科
- Unix,维基百科
- Unix 历史,维基百科
- C 语言的发展 贝尔实验室
- Unix 时间共享系统的演变 www.read.seas.harvard.edu/~kohler
本文文字及图片出自 8. The Origins of Unix and the C Language
你也许感兴趣的:
- Linux 断了商业 Unix 的活路?
- 在Unix里 一切都是文件
- 关于Unix哲学17条原则的新感悟
- 什么是 Unix 以及它为什么这么重要?
- 为什么 curl 用 c 语言开发
- 【译文】C 和 C++ 优先考虑性能而非正确性
- 【译文】您(也许)不需要学习 C 语言
- NVIDIA 安全团队:如果我们停止使用 C 会怎样?
- C 语言不完全类型是什么?有什么用途?
- 望而生畏的C语言在逐渐凋零
你对本文的反应是: