40岁的unix还能走多远-亚博88体育

40岁的unix还能走多远

文章来源:  |  发布时间:2009-09-03  |  【】 【】

  

  1969年8月,当忙碌了整整一个月的ken thompson走出实验室的时候,他绝对没有想到,他在这一个月所做的事将给整个it产业带来如此深远的影响。在这一个月里,他把自己所有关于操作系统的想法付诸实践,开发出了至今仍是大型关键核心业务系统最可信赖的运行平台unix的第一个版本。这项工作后来帮他和他的同事dennis ritchie获得了1983年的计算机领域的最高奖项图灵奖,而他当时所采用的众多设计概念影响了一代又一代程序员,至今仍被奉为圭臬。

unix问世

  ken thompson是at&t下属的贝尔实验室的程序员,在此之前,他和他的同事dennis ritchie在开发一个名为multics分时系统,由于项目进展非常不顺,贝尔实验室取消了这一项目。闲下来的thompson和dennis ritchie对当时流行的批处理操作系统不感兴趣,决定开发一种新的操作系统。经过一段时间的探讨,ken thompson用汇编语言为dec的pdp-7小型机开发出了后来命名为unix操作系统的第一个版本,包括一个外壳程序(shell)、一个编辑器和一个汇编程序(assembler),每一个用了差不多一个星期的时间。随后的几年里ken thompson和dennis ritchie这对搭档在他们的同事doug mcilroy、joe ossanna、rudd canaday的帮助下对这个操作系统进行了不断修改和完善。

  新操作系统借鉴了multics的一些设计思路,不过,最为重要的是它坚持“少就是好”的理念。5年后,ritchie和thompson在计算机协会(acm)的杂志cacm上介绍了当时的设计思路::“需要用户与之交互的操作系统不仅应该对计算机本身要求不高,而且也要让人用起来很容易。我们希望unix的用户发现它最大的特点就是简便、易用而且美妙。”

  很显然,unix做到了。unix后来成为it产业的基石,被广泛地部署在大学、政府部门和企业的各种服务器和工作站中,而且其影响还表现在,unix所采用的设计模式让当时的软件设计人员重新思考如何编程。

  当然,unix的成功不是一下子发生的。1971年的时候,这个操作系统被迁移到比pdp-7功能强大得多的pdp-11小型机,为了让贝尔实验室专利部门的打字员可以用来处理一些文档,新增了文本编辑器和文本排版工具,这是该操作系统第一个走出研发团队。1972年,ritchie在thompson早期发明的b语言的基础上发明了高级编程语言c语言,随后thompson用c重新改写了程序,这使得unix的可移植性大大增强了。这时这个操作系统也有了自己的名字“unics”,后来逐渐变成了今天的unix。

  不过,直到这时unix仍没有走出贝尔实验室,而真正把unix带向世界的则是ritchie和 thompson1974年7月发表在caca杂志上的文章《unix分时系统》,它让整个it业界为之轰动。

黑客的乐园

  当时,人们用“黑客”来形容那些具有非凡的创造力和顽强的毅力、能解决一些常人无法解决的问题的软件工程师。按照这一定义,thompson和ritchie是真正的黑客,他们所采用的方法、编写的代码让那时的大学生为之着迷,随后一些资金不多的初创公司也学习和借鉴这些方法和代码。

  “几乎从一开始,unix就是能够自我维护的,” thompson和ritchie在他们发表在cacm上的论文中写到,“因为所有的源代码都是可以拿到的,可以很容易地修改,因此,如果我们想到了一个非常好的想法或者听到一些非常好的建议,我们非常乐意修改或者重写这个系统。”

  当时在贝尔实验室做程序员、今天仍然在at&t工作的david korn回忆说: “unix最大的一个特点是其中的工具可以很容易地被修改,或者用一个更好的工具替代。”korn不久开发出了一个很有影响力的korn shell(今天已经成为一个开源软件),从本质上说,这就是一个能指挥unix运行的编程语言。

  毋庸置疑,unix给当时的程序员带来了深远的影响。unix首创的很多概念至今仍在沿用。比如,为了把一个程序的输入引入另一个程序中,unix在1973年采用了“管道(pipeline)”这个概念,在今天的很多操作系统中仍然可以看到,包括所有unix的变种以及linux、dos、windows等。 unix的另一个特点是它并不需要一个非常昂贵的大型机来运行。实际上,unix最初就是为计算能力很弱的小型机dec pdp-7开发的,因为当时thompson和ritchie手头只有这样的计算机。

  正是由于unix简单、容易修改、对资源要求不高,而且源代码基本上免费的,因此很多大学的研究人员开始使用unix,当时新成立的一些公司(如sun)和很多今天已经不在、从事科学计算的公司也采用unix。

unix开枝散叶

  最开始unix是一种免费的操作系统。因为1956年美国联邦政府通过一项法案禁止 at&t提供电话以外的业务,所以,at&t是不允许参与计算机有关的业务的。在unix刚刚开发出来的时候,at&t也没有太看重它,但到20世纪70年代末,at&t意识到了它的商业价值。而at&t的律师也对1956年通过的那个法案做出了新的有利于自己的解释。于是,1979年年初在unix v7发布之后,at&t修改了软件授权协议,禁止大学使用unix源代码教学。不过,这对大学并不是问题,因为可以继续用unix v6。

  此后unix出现了一个很重要的分支。20世纪70年代在加州大学伯克利分校读研究生的bill joy从贝尔实验室拿到了一份unix的拷贝,他认为这个操作系统非常适合作为他的pascal编译器和文本编辑器的运行平台。因此,他和伯克利分校其他一些人一起对unix进行了修改和扩展,由此诞生了unix的重要分支: bsd (berkeley software distribution) unix。1978年,bsd推出,每份拷贝50美元。

  这样,到1980年有了两个主要的unix版本,一个来自伯克利,另一个来自at&t,随后不久更多的unix开始涌现,并演变为“unix战争”: 1982年,bill joy与麦克尼利等联合创建sun,推出了一种运行在工作站上的bsd版本,命名为sunos(solaris是大约10年以后的事情)。随后,at&t发布了非常具有影响力的unix system v,在它的基础上后来诞生了ibm aix和惠普的hp-ux。不过,事情总是有好有坏: “unix战争”好的方面是,软件人员很容易拿到unix,对它按照自己的要求进行修改;不好的是,unix出现了很多分支影响了可移植性。

  值得一提的是,1987年荷兰阿姆斯特丹市vrije大学计算机系教授andrew tanenbaum开发出一个与unix非常接近的操作系统minix。这个运行于intel 80286微处理器上的操作系统是一个开源软件,到1991年linus torvalds正是基于minix开发出了今天广泛使用的linux。

网站地图