远古记忆-UNIX的诞生
Multics计划--开始。
这是由麻省理工学院,通用电气和AT&T的贝尔实验室合作的操作系统项目,用于使用在GE-645大型主机上的。但是由于整个目标过于庞大,Multics虽然发布了一些产品,但是性能都很低,AT&T退出了Mulitcs项目,计划终止。肯.汤姆逊当时也参加了这个项目,很不幸,在他加入到这个项目不就,Mutilate计划就终止了。这时候GE-645依然在贝尔实验室,于是,肯.汤姆逊就继续在机器上开发软件,此时,他写了一个程序语言Bon。编写了一个太空旅行的游戏,然而,游戏运行的速度很慢,并且耗费昂贵。
后来,GE-645被搬走了,肯.汤姆逊找了几台PDP-7。在丹尼斯里奇的帮助下,汤姆逊用PDP-7的汇编语言重写了这个游戏,并在PDP-7上运行了起来,加上在MUltics项目的经验,促使汤姆逊开始在DEC PDP-7上研究如何开发操作系统。
1969年,汤姆逊提议在PDP-7上开发一个新的阶层式操作系统的计划。Multics原有成员加上Rudd Canady,都投入到这个计划。之后,写驱动,开发shell,在团队的合作下,最终做出了一个分时多任务操作系统,成为第一版UNIX。这个项目被称为UniCS(Uniplexed Information and Computing System)
汤姆逊和丹尼斯里奇
由于PDP-7的性能不太好,汤姆逊和丹尼斯里奇决定把第一版UNIX移植到PDP-11/20的机器上,在性能提升后,真正可以供多人使用(之前的只能支持两个用户),并正式改名为UNIX。后来在汤姆逊和里奇1971年共同发明出C语言之后,在1973年用C语言重写了UNIX,形成第三版。之后的Unix高歌猛进,发展迅速,并被广泛的使用。
由于此时的UNIX是几乎全免费的,所以很多机构在此基础上对UNIX进行重写,形成了各种各样的“类UNIX”版本,其中就有加州伯克莱大学分校开发的伯克莱软件包(BSD)产品。后来,贝尔实验室和AT&T分离之后,开始不再将UNIX源码授权给学术机构,并对之前的UNIX及其变种声明了版权权利,并开始了一场持久的版权官司直到Novell接手。Novell采用比较开明的方式,允许柏克莱分校自由发布自己的Unix变种,但是前提是必须将来自于AT&T的代码完全删除。
自由的产物-BSD
伯克利软件套件(英语:Berkeley Software Distribution,缩写为BSD),也被称为伯克利Unix(Berkeley Unix),是一个操作系统的名称。衍生于Unix(类Unix),1970年代由伯克利加州大学的学生比尔·乔伊(Bill Joy)开创,也被用来代表其衍生出的各种套件。
BSD常被当作工作站级别的Unix系统,这得归功于BSD用户许可证非常地宽松,许多1980年代成立的计算机公司,不少都从BSD中获益,比较著名的例子如DEC的Ultrix,以及Sun公司的SunOS。 1990年代,BSD很大程度上被System V 4.x版以及OSF/1系统所取代,但其开源版本被采用,促进了因特网的开发。
GNU计划的产生
理查·斯托曼
因为UNIX操作系统的商业化,原来的UNXI系统已经不能再被随意的使用,很多人都希望能有一款免费好用的操作系统,因为并不是每个人都很有钱,也不是每个人都能任性的自己去写操作系统,此时,理查·斯托曼在麻省理工学院人工智能实验室发起GNU计划,希望发展出一套完整的开放源代码操作系统来取代Unix,计划中的操作系统,名为GNU。 1983年9月27日,理查·斯托曼在 net.unix-wizards 和 net.usoft新闻组中公布这项计划。在此项计划中,开发出了很多我们现在熟悉的常用的工具,包括GNU编译器套装(GCC)、GNU的C库(glibc)、以及GNU核心工具组(coreutils)。另外也是GNU除错器(GDB)、GNU二进制实用程序(binutils)[15]的GNU Cash shell中[10] 和GNOME桌面环境。当然,GNU计划的目的还是开发出一款自由传播的操作系统,这个操作系统的名字叫Hurd,但是由于对操作系统的要求过高,以至于Hurd一直处于测试阶段,但是在后来的Linux加入到GNU弥补了这一空缺。
导火索MINIX
MINIX启动界面
在Unix产生后,版权在AT&T手里,在Version 7 Unix发布之后,发布新的授权条款,将Unix源码私有化,在大学不得再使用Unix源码,荷兰阿姆斯特丹自由大学计算机科学系的塔能鲍姆教授为了教学,自己写了一个类Unix的小系统,命名为MINIX(意为mini-UNIX)。
LINUX的产生
林纳斯 托瓦兹(Linus Torvalds)
我们的主角人物,林纳斯 托瓦兹(Linus Torvalds)1991年,林纳斯·托瓦兹在赫尔辛基大学上学时,对操作系统很好奇。由于但是386BSD还没有出来。可是他不喜欢他的386电脑上的MS-DOS操作系统,所以就安装了Minix,可对MINIX只允许在教育上使用很不满(在当时MINIX不允许被用作任何商业使用),于是他便开始写他自己的操作系统。
Linux的第一个版本在1991年9月被大学FTP server管理员Ari Lemmke发布在Internet上,最初Torvalds称这个内核的名称为"Freax",意思是自由("free")和奇异("freak")的结合字,并且附上"X"这个常用的字母,以配合所谓的类Unix的系统。但是FTP服务器管理员嫌原来的命名“Freax”的名称不好听,把内核的称呼改成“Linux”,当时仅有10000行程序码,仍必须运行于Minix操作系统之上,并且必须使用硬盘开机;随后在10月份第二个版本(0.02版)发布,同时这位芬兰赫尔辛基的大学生在comp.os.minix上发布一则消息
Hello everybody out there using minix- I‘m doing a (free) operation system (just a hobby, won‘t be big and professional like gnu) for 386(486) AT clones.
1994年3月,Linux1.0版正式发布。为了让Linux可以在商业上使用,林纳斯·托瓦兹决定更改他原来的协议(这个协议会限制商业使用),以GNU GPL协议来代替。之后许多开发者致力融合GNU元素到Linux中,做出一个有完整功能的、自由的操作系统。
Linux的标志物
Linux的标志和吉祥物是一只名字叫做Tux的企鹅,标志的由来是因为Linus在澳洲时曾被一只动物园里的企鹅咬了一口,便选择企鹅作为Linux的标志。更容易被接受的说法是:企鹅代表南极,而南极又是全世界所共有的一块陆地。这也就代表Linux是所有人的Linux。
Linux的现状
今天由Linus Torvalds带领下,众多开发共同参与开发和维护Linux内核。理查德·斯托曼领导的自由软件基金会,继续提供大量支持Linux内核的GNU组件。一些个人和企业开发的第三方的非GNU组件也提供对Linux内核的支持,这些第三方组件包括大量的作品,有内核模块和用户应用程序和库等内容。Linux社区或企业都推出一些重要的Linux发行版,包括Linux内核、GNU组件、非GNU组件,以及其他形式的的软件包管理系统软件。