操作系统已经是较为成熟的产品,而在电子计算机刚诞生之初并非如此。当时的计算机体积巨大、耗电惊人,当时人们使用穿孔纸带对其输入数据与指令:
无疑,这种方式效率低下。故1964年,由美国通用电气(GE)、美国电话电报公司(AT&T)的贝尔实验室(Bell-Labs)以及麻省理工大学(MIT)的人工智能实验室组成一个团队,旨在研制一个运行在大型机上的高效的多任务处理系统,Multics(MULTiplexed Information and Computing System) 就此诞生!
Multics项目是成功的,在达到了最初设定的目标后,到了七十年代,Bell-Labs与GE相继退出,他们的计算机科学家也将无权再继续使用Multics。这致使Bell-Labs的一位科学家Ken Thompson开发的一款基于Multics系统的游戏 Space Travel 无法运行,Ken随后使用DEC公司的PDP-7主机(当时DEC公司的PDP系列已经到了PDP-11),按照自己对于Multics的理解,重写了一个能运行自己游戏的平台来运行自己的游戏。
在他向同事们展示Space Travel时,其同事们将目光瞄向了这个底层系统,该系统遂风靡贝尔实验室。由于该系统设计之初仅仅为了支持该游戏的运行,相对于Multics,大家将该系统戏谑地称为Unics ,后来更名为Unix 。
而Unix此时依然是使用汇编开发的,移植起来较为繁琐。Ken好友Dennis Ritchie希望使用高级语言重新开发该系统,遂将当时的B语言进行改进,引入了静态变量、加入了指针等概念,即成为了现代C语言的前身。并使用该语言重新了Unix。
1974年,二位公开讲述了他们的Unix,将论文刊登于美国计算机通讯杂志。由于当时的法律,AT&T不能销售Unix,二人须无偿对外提供,Unix迅速风靡各高校以及研究机构。
其中包括加州大学伯克利分校,该校学生Bill Joy成立了CSRG(Computer Systems Research Group),而Ken在休假期间刚好去了该校任教,CSRG成为了Unix研究的领头羊。
是时,网络兴起,DARPA将TCP/IP协议栈的研究交给CSRG,CSRG将研究成果整合到了系统中,即BSD(Berkeley System Distribution)。
在这段时间,各地纷纷出现了一些公司,他们包装发行Unix、编译器等。如SCO、Microsoft(微软),Microsoft当年以销售Basic编译器为生,并且也包装发售Unix,称为Xenix。
上世纪八十年代初,IBM Compaq开始生产PC,由于当时Intel的80x86芯片性能很差,而当时的Unix程序员不愿将Unix移植到PC兼容机上。加之Bell-Labs若离了AT&T后,迅速将Unix商业化,各个高校与研究机构也无法再免费使用Unix(当时的操作系统很昂贵)
。
鉴于此种状况,又有牛人开始自己研发,美国一位教授开发了CP/M系统,以及另一位默默无闻的程序员开发的QDOS(Quick and Dirty Operating System)。QDOS后来被比尔盖茨买下,修改后命名为DOS(Disk Operating System)。并且通过一种新的卖使用许可证的方式销售该系统的使用权,大获成功。
另一边,Apple公司的Jobs在Xerox的PARK实验室发现了鼠标与图形操作系统,并将其应用在Apple 2上。其友商Microsoft不久也获取到了该技术的拷贝,Windows就此诞生!但是内核依然是DOS。
Unix阵营这边,贝尔实验室与CSRG的一场长达数年之久的争论接近尾声。Bill Joy成立了Sun Microsystem公司,为世界贡献了Java语言、Solaris系统、Spark等,后来被Oracle收购。
而当时的DEC公司被COMPAQ收购,其VMS系统团队加入了微软,改进Windows,内核更新为VMS。
上文提到,由于Unix的商业化,众多高校以及科研机构无法免费使用Unix。麻省理工学院的一位教授Stallman对此大为不满,他认为认为程序是全人类的,倡导软件应公开使用,成立GNU(GNU is Not Unix)组织,颁布了GPL(General Public License)协定。
GNU组织贡献了众多优秀的软件,如EMACS、gcc、vi等。有意思的是,这些软件只能运行在Unix系统上!
这里又是一位牛人,荷兰一大学教授Andrew仿照Unix开发出了Minix(据说只有4000多行代码),并用它的欧盟各地教学。然而Minix的底层驱动用汇编开发,无法在学生的电脑上使用,一些学生在自己的电脑上开发多中平台的驱动,但Andrew不同意将这些驱动融合在Minix中。
最后一位压轴出场的就是LInux之父:Linus Torvalds!1991年8月,还在赫尔辛基大学上学的的Linus写了一个小系统Linux,并宣布其遵循GPL协定,任何人可以更改系统。加之其满足了GUN组织迫切需要一款操作系统的求。
此后,世界各地的黑客、程序员等纷纷参与其中,不断完善Linux,Linux就此迅速成长。如今,Linux内核已然相当健壮。
end