Unix发展历史

1969年以前:一个伟大的梦想------“Multics”系统

        在那个时候,写程序是件很可怜的事情,因为程序设计者,必须要将程序相关的信息在读卡纸上面打洞, 然后再将读卡纸插入读卡机来将信息读入主机中运算。在那之后,由于硬件与操作系统的改良,使得后来可以使用键盘来进行信息的输入。不过,在一间学校里面,主机毕竟可能只有一部,如果多人等待使用,那怎么办?好在1960年代初期麻省理工学院(MIT)发展了所谓的: “相容分时系统 ”, 它可以让大型主机通过提供数个终端机以连线进入主机,来利用主机的资源进行运算工作。 这个相容分时系统可以说是近代操作系统的始祖!他可以让多个使用者在某一段时间内分别使用CPU的资源。

        为了更加强化大型主机的功能,以让主机的资源可以提供更多使用者来利用,所以1965年前后, 由贝尔实验室(Bell)、麻省理工学院(MIT)及奇异公司(GE)共同发起了Multics的计划,Multics计划的目的是想要让大型主机可以达成提供300个以上的终端机连线使用的目标。 不过,到了1969年前后,计划进度落后,资金也短缺,所以该计划虽然继续在研究,但贝尔实验室还是退出了该计划的研究工作。

1969年:Ken Thompson的小型file server system

        在认为Multics计划不可能成功之后,贝尔研究室就退出该计划。不过,原本参与Multics计划的人员中,已经从该计划当中获得一些点子, Ken Thompson就是其中一位!Thompson因为自己的需要,希望开发一个小小的操作系统以提供自己的需求。本来Thompson应该是没时间的(有家有小孩的宿命?), 无巧不巧的是,在1969年八月份左右,刚好Thompson的妻儿去了美西探亲, 于是他有了额外的一个月的时间好好的待在家将一些构想实现出来!经过四个星期的奋斗,用汇编语言写出了一些核心工具程序, 以及一个小小的文件系统。当时Thompson将Multics庞大的复杂系统简化了不少,于是同实验室的朋友都戏称这个系统为:Unics。

Thompson 的这个文件系统有两个重要的概念,分别是:
1.所有的程序或系统设备都是文件。
2.不管建构编辑器还是附属文件,所写的程序只有一个目的,且要有效的完成目标。

1973年:Unix的正式诞生,Ritchie等人以C语言写出第一个正式Unix核心

        由于Thompson写的那个操作系统实在太好用了,所以在贝尔实验室内部广为流传,并且数度经过改版。后来Thompson与Ritchie合作想将Unics改以高阶程序语言来撰写。当时现成的高阶程序语言有B语言。 但是由B语言所编译出来的核心性能不是很好。后来Dennis Ritchie将B语言重新改写成C语言,再以C语言重新改写与编译Unics的核心, 最后正名与发行出Unix的正式版本!

         由于贝尔实验室是隶属于美国电信大厂AT&T公司的, 只是AT&T当时忙于其他商业活动,对于Unix并不支持也不排斥。

1977年:重要的Unix分支--BSD的诞生

        虽然贝尔属于AT&T,但是AT&T此时对于Unix是采取较开放的态度,此外,Unix是以高阶的C语言写成的, 理论上是具有可移植性的。所以在1973年以后,Unix便得以与学术界合作开发! 最重要的接触就是与加州柏克莱(Berkeley)大学的合作了。 Bill Joy在取得了Unix的核心源代码后,着手修改成适合自己机器的版本, 并且同时增加了很多工具软件与编译程序,最终将它命名为Berkeley Software Distribution (BSD) 。Bill Joy也是Unix业者“Sun”这家公司的创办者! Java语言就是Sun公司开发出来的。

1979年:重要的 System V 架构与版权宣告

        由于Unix的高度可移植性与强大的性能,加上当时并没有版权的纠纷, 所以让很多商业公司开始了Unix操作系统的发展,例如AT&T自家的System V、IBM的AIX以及HP与DEC等公司, 都有推出自家的主机搭配自己的Unix操作系统。早先的Unix只能在服务器或者是大型工作站上运行。但到了 1979 年时,AT&T推出 System V 第七版 Unix 后,​​​ 这一版最重要的特色是可以支持x86架构的个人计算机系统,也就是说 System V 可以在个人计算机上面安装与运行了。
        不过因为AT&T出于对于商业的考虑,于是想将Unix的版权收回去。因此, AT&T在1979年发行的第七版Unix中,特别提到了 “不可对学生提供源代码”的严格限制!” 同时,也造成Unix业界之间的紧张气氛,并且也引爆了很多的商业纠纷。

1984年之一:x86架构的Minix操作系统开始撰写并于两年后诞生

        关于1979年的版权声明中,影响最大的当然就是学校教Unix核心源代码相关学问的教授了! 想一想,如果没有核心源代码,那么如何教导学生认识Unix呢?既然1979年的Unix第七版可以在Intel的x86架构上面进行移植,Tanenbaun教授于是乎自己动手写了Minix这个Unix Like的核心程序!。在撰写的过程中,为了避免版权纠纷,Tanenbaun教授完全不看Unix核心源代码, 并且强调他的Minix必须能够与Unix相容才行。Tanenbaun教授在1984年开始撰写核心程序, 到了1986年终于完成,并于次年出版Minix相关书籍。

1984年之二:GNU计划与FSF基金会的成立

        1984年,史托曼开始GNU计划, 这个计划的目的是:创建一个自由、开放的Unix操作系统。 但是创建一个操作系统谈何容易啊!“既然操作系统太复杂,我就先写可以在Unix上面运行的小程序,这总可以了吧?”在这个想法上, 史托曼开始参考Unix上面现有的软件,并依据这些软件的作用开发出功能相同的软件,且开发期间史托曼绝不看其他软件的源代码, 以避免吃上官司。后来一堆人知道免费的GNU软件,并且实际使用后发现与原有的专利软件也差不了太多,于是便转而使用GNU软件。后来他还开始撰写C语言的编译器,最后就是现在相当有名的gcc。但开始撰写GCC时并不顺利,为此,他先转而将他原先就已经写过的Emacs编辑器写成可以在Unix上面跑的软件,史托曼便借着Emacs出售,赚了一点钱,并且成立自由软件基金会(FSF)。在更多工程师与志愿者的帮助下终于还是完成了gcc。

1991年:芬兰大学生Torvalds的一则简讯(Linux诞生)

        到了1991年,芬兰的赫尔辛基大学的Linus Torvalds(托瓦兹)在BBS上面贴了一则消息, 宣称他以bash, gcc等 GNU 的工具写了一个小小的核心程序,该核心程序单纯是个玩具,不像 GNU 那么专业。 不过该核心程序可以在Intel的386机器上面运行就是了。这让很多人很感兴趣,从此开始了Linux不平凡的路程!

 

你可能感兴趣的:(Linux,unix)