Unix系统的历史漫长而曲折,它的第一个版本是1969年由KeThompson在AT&T贝尔实验室实现的,运行在一台DECPDP-7计算机上。这个版本实现了一个文件系统、一个命令解释器(shell)和一些简单的文件工具。
Ken和他的伙伴们使用GE系统来为PDP-7进行交叉编译,很快写好了汇编器,使系统有了自支持的能力。这个系统已基本成型,其文件系统与现在的文件系统相似,它使用i结点,有特殊文件类型支持目录和设备,而且可以同时支持两个用户。
与当时的一个名为MULTICS(MULTiplexed Information and Computing System)的操作系统相比,Unix系统显得异常短小精悍,它曾被玩笑地称作"UNICS",代表 UNiplexed Information and Computing System. 有人称 MULTICS 代表 "Many Unneccessarily Large Tables In Core Simulataneously",而Unix则是裁减了的MULTICS,不久,UNICS变成了Unix系统而且被流传下来。
1970年,Unix系统被移植到PDP-11/20上,这需要很大的工作量,因为整个系统全是用汇编语言编写的。
C语言的诞生给系统设计带来了新的契机, Ken Thompson和Dennis Ritchie使用C语言对整个系统进行了再加工和编写,使得Unix能够很容易的移植到其他硬件的计算机上。从那以后,Unix系统开始了令人瞩目的发展。由于此时AT&T还没有把Unix作为它的正式商品,因此研究人员只是在实验室内部使用并完善它。
正是由于Unix系统是被作为研究项目,其他科研机构和大学的计算机研究人员也希望能得到这个系统,以便进行自己的研究。AT&T以分发许可证的方法,对Unix仅仅收取很少的费用,大学和研究机构就能获得Unix的源代码以进行研究。
Unix的源代码被散发到各个大学,一方面使得科研人员能够根据需要改进系统,或者将其移植到其他的硬件环境中去,另一方面培养了懂得Unix使用和编程的大量的学生,这使得Unix的普及更为广泛。
由于操作系统的开发相当困难,只有少数的计算机厂商,如IBM、Digital等大型公司,才拥有自己的操作系统,而其他众多生产计算机的硬件厂商则采用别人开发的操作系统。因为Unix系统不需要太多的花费,因此很多厂商就选择了Unix作为他们生产的计算机使用的操作系统。他们把Unix移植到自己的硬件环境下,而不必从头开发一个操作系统。
到了70年代中后期,在Unix系统发展到了版本6之后,AT&T认识到了Unix的价值,成立了Unix系统实验室(Unix System Lab,USL)来继续发展Unix。因此AT&T一方面继续发展内部使用的Unix版本7,一方面由USL开发对外正式发行的Unix版本,同时AT&T也宣布对Unix产品拥有所有权。
几乎在同时,加州大学伯克利分校计算机系统研究小组(CSRG)使用Unix系统对操作系统进行研究,因此他们的研究成果就反映在他们使用的Unix中。
他们对Unix的改进相当多,增加了很多当时非常先进的特性,包括更好的内存管理,快速且健壮的文件系统等,大部分原有的源代码都被 重新写过,以支持这些新特性。很多其他Unix使用者,包括其他大学和商业机构,都希望能得到CSRG改进的Unix系统。
因此CSRG中的研究人员把他们的Unix组成一个完整的Unix系统──BSD Unix(Berkeley Software Distribution),向外发行。到此,Unix就有了一个大的分支,分为AT&T Unix 和 BSD Unix,现代的Unix版本大部分都是这两个版本的衍生产品。
【编辑推荐】