1.2 UNIX诞生的经过
在这样的背景下,诞生了经典的UNIX操作系统。事实上,这个过程多少有点戏剧性。
1965年时,贝尔实验室(Bell Labs)加入一项由通用电气(General Electric)和麻省理工学院(MIT)合作的项目;该项目要建立一套多使用者、多任务、多层次(multi-user、multi-task、multi-level)的MULTICS操作系统。直到1969年,因MULTICS项目的工作进度太慢,该项目就被停了下来。当时,Ken Thompson已经有一个称为“星际旅行”的程序在GE-635的机器上运行,但是反应非常的慢,正巧被他发现了一台被闲置的PDP-7(Digital的主机),Ken Thompson和Dennis Ritchie就将“星际旅行”的程序移植到PDP-7上。而这部PDP-7就此在整个计算机历史上留下了芳名。
MULTICS其实是"MULTi-plexed Information and Computing System"的缩写,在1970年时,那台PDP-7却只能支持两个使用者,当时,Brian Kernighan就开玩笑地戏称他们的系统其实是:"UNi-plexed Information and Computing System",缩写为"UNICS",后来,大家取其谐音,就称其为"UNIX"了。1970年可称为是UNIX元年。
1971年,他们申请了一台PDP-11/20,申请的名义是:要发展文书处理系统。该提案被采纳,他们也就发展出了一套文书处理系统——就是现在UNIX操作系统里面文书处理系统(nroff/troff)的前身。有趣的是,没有多久,贝尔实验室的专利部门真的采用了这套系统作为他们处理文件的工具,而贝尔实验室的专利部门也就顺理成章地成为UNIX的第一个正式使用者。当时,那部PDP-11/20只有0.5MB磁盘空间。而描述这整个系统的文件被标示为:"First Edition",版本日期是1970年11月。从此以后,UNIX的版本就以系统文件的版本来称呼。1973年,Ken Thompson(肯·汤姆森)和Dennis Ritchie(丹尼斯·里奇)发明了C语言之后,着手将UNIX程序用高阶的C语言改写,这个时候已经是第4版了(C的前身叫B,也是他们两个人发明的,为了改写UNIX,他们将B语言做了一番改进,而成了C语言)。这个划时代的动作让UNIX能够很轻易地被移植到各种不同的机器上。1974年,他们在计算机协会交流杂志(Communications of the ACM)正式发表了UNIX,吸引了更多学术界的注意与参与。从此,UNIX逐渐成为网络工作站的标准,让使用不同机器的使用者,都能使用类似的UNIX操作系统,这对于网络世界的标准化有着很大的贡献。在UNIX的诞生初期,贝尔实验是还是一个大的集合体,包括贝尔电话公司以及西部电气(Western Electric Co.)。碍于反托拉斯法的规定,它不能利用UNIX做任何的商业行为,也因此,内部的管理阶层自然没有兴趣对UNIX有任何的支持,UNIX就全靠一群玩家在琢磨,主要人物当然还是Ken Thompson和Dennis Richie。