当前位置:  技术问答>linux和unix

UNIX演义

    来源: 互联网  发布时间:2015-05-23

    本文导语:  UNIX演义 本文译自"Life with UNIX(R) -- A Guide for Everyone" 译者向次书的两位作者Don Libes, Sandy Ressler表示衷心的感谢,他们为人们更好地 了解UNIX作出了贡献。 中文翻译 BlueOcean ( para@cs.sebuaa.ac.cn ) 我们希望这些文...

UNIX演义

本文译自"Life with UNIX(R) -- A Guide for Everyone"
译者向次书的两位作者Don Libes, Sandy Ressler表示衷心的感谢,他们为人们更好地
了解UNIX作出了贡献。

中文翻译 BlueOcean ( para@cs.sebuaa.ac.cn )

我们希望这些文件中的资讯能对你有所帮助,但是并不保证是正确的,若发生损害请
自行负责 

-----------------------------------------------------------------------------

"One half of the world must sweat and goarn that
the other half may dream."
----Henry Wadworth Longfellow

UNIX的历史展现了许多关于UNIX哲学的内容。从她为什么流行至今,到她为什么有
如此古怪的许可证制度,我们沿着UNIX走向成熟的道路讲述这段历史,研究UNIX
哲学及其演变过程。

1.1 创世之初

我们先谈谈UNIX的创世之初,有两点需要牢牢把握:

1) 虽然UNIX的许多部分和其实现过程是创造性的,但其几个重要的思想都可以追溯
到早期的操作系统发展,并且

2) 如果不是Ken Thompson,如果不是他心灵手巧,擅长摆弄当时那些身边触手可及
的工具,UNIX是不可能被写出来的。

那是1968年,Ken Thompson和同在贝尔实验室计算机研究小组的同事们一起进行关
于MULTICS项目的研究工作。MULTICS是一个误入歧途而又 曰筒 烂的计算系统 她提
供了非常复杂的功能,同时消耗大量的计算资源。她太大而且太慢,研究人员们不
得不一开始就缩减其初始设,进行简化实现。

尽管如此,几个可工作的MULTICS实现还是完成了,提供了非常好的计算环境。在贝
尔实验室的那个是在一台模拟GE635的GE645上完成的。系统提供分时服务,但她主
要是面向批处理的,其环境笨拙且不友好。Ken和他的伙伴们(特别是Dennis Ritchie
和Joseph Ossanna)不想放弃MULTICS提供的舒适环境,于是他们开始向AT&T的管理
部门游说,希望能获得一个交互式平台,诸如DEC-10,并在其上建造他们自己的操
作系统。

DEC-10是DEC公司(Digtal Equipment Corp.)推出的一系列机种的一种。该机有一个
非常灵活的交互式分时系统。很不幸,与那个时代的许多分时平台一样,DEC-10非
常昂贵。

我们应该庆幸,Ken的请求被拒绝了。这样的情性又发生了几次,这对Ken来说是太
不幸了。由于MULTICS的失败,AT&T管理当局被Ken的计划打动,他们也没有兴趣来
投资另一个仅仅是在不同的硬件上设计一个看起来与MULTICS一样的操作系统。

与此同时,Ken对一个成为星际旅行的游戏非常有兴趣。该程序模拟太阳系的几个主
要的星体和一艘可在不同对方着陆的飞船。Ken将其安装在GE系统上,GE系统忽快忽
慢的响应时间是Ken大为失望。而且根据后来Dennis的说法,在GE系统上运行一次该
游戏需要75美元,太贵了。Ken和Dennis后来找到了现在非常有名的"little-used
PDP-7 sitting in a corner",他们用GE系统生成了可在该机器运行的程序代码。

1.2 创世

有了星际旅行,Ken有了正当的理由去实现他曾在MULTICS计划中设计和模拟的理论
上的文件系统。很自然,一台有用的机器需要的不仅仅是一个文件系统。Ken和他
的朋友还完成了第一个命令解释器(或Shell)和一些简单的文件处理工具。开始时,
他们用GE系统来为PDP-7进行交叉编译。很快,他们写好了汇编器(assembler),系
统已经开始自支持了。

这时的系统已经有了象UNIX了(如用fork()来支持多任务)。文件系统与现在的文件
系统相对相似。它使用i-节点,而且有特殊的文件类型来支持目录和设备。那台
PDP-7可同时支持二个用户。

MULTICS其实是代表"MULTiplexed Information and Computing System"。1970年,
Brian Kernighan开玩笑称Ken的系统为"UNICS",代表"UNiplexed Information
and Computinig System",毕竟与Ken的系统相比,MULTICS过于庞大了。(某些人
称MULTICS代表"Many Unnecessarily Large Tables In Core Simultaneously"
而UNIX则是裁剪了的MULTICS。:)不久,UNICS变成了UNIX而且被流传下来。

计算机研究小组并不对PDP-7十分满意。其一是它是借来的一台机器,更主要的是它
能力有限,不太可能提供计算服务。于是小组再次提交申请,这回是一台PDP-11/20
来研究文字处理。该申请与前一次的显著的区别是PDP-10的价格只是DEC-10的凤毛
麟角。由于这次的申请十分具体,一个文字处理系统,AT&T的管理当局宽宏大量为他
们购买了PDP-11。

1970年UNIX被移植到PDP-11/20上。那可不是一件轻而易举的事,整个系统全是用
汇编写的啊!小组又将汇编写的roff(又称为runoff,troff的前身)从PDP-7移植到
PDP-11上。再加上一个编辑器就足以称为一个文字处理系统了。

与此同时,贝尔实验室的专利局正在寻找一个文字处理系统。他们选择了计算机研究
小组的基于UNIX系统的PDP-11/20。贝尔实验室专利局成了UNIX的首家商业用户。

这第一个系统有几点是很值得注意的。跑UNIX的PDP-11/20没有存储保护。它仅有
一个0.5Mb的磁盘。它支持同时三个用户,分别完成编辑,排版,再加上计算机研究
小组进行进一步的UNIX开发。该系统的手册被标为"First Edition",日期为1971年
11月。

现在都习惯在手册的版本后注明发行号。这样可能更清楚些,editions也可称为
versions,他们是一个意思。例如,Version 7和7th Edition是一回事。

第二版于1972年发行,增添了管道的功能。该版本还加上了除汇编之外的编程语言支
持。特别值得一提的是Ken曾试图用NB语言来重写核心。

NB是由B语言(由Ken和Dennis设计)修改而来的。B语言的前身是BCPL,BCPL(Basic
CPL)是Martin Richards于1967年在剑桥设计的。CPL(Combined Programming
Language)则是1963年伦敦大学和剑桥大学的合作项目。而CPL则颇受Algol60(1960
设计)的设计思想影响。

所有这些语言在控制结构上都和C语言相似,不过B和BCPL都是"无类型"的语言(尽管
有点用词不当),它们只支持按"字"来访问内存。NB演化为C,而C则很快称为新的
工具和应用的首选语言。

参与MULTICS(MULTICS用PL/I书写)的经验告诉Ken和Dennis,用高级语言来写系统是
合算的。由此,他们一直试图完成它。1973年,C语言加入了结构和全局变量。与此
同时,Ken和Dennis成功地用C重写了UNIX核心。Shell也被重写了。这增加系统的鲁
棒性,也使编程和调试变得容易了很多。

那时,大约有25个UNIX系统。在贝尔实验室内部成立了UNIX系统小组来进行内部维护
工作。几家大学都和贝尔实验室签定协议,获得了第四版的拷贝。协议主要是不泄露
源码,在那时还没有许可证这回事。Ken自己录制磁带,不收任何费用。第一卷磁带
由在纽约的哥伦比亚大学获得。

1974年,Ken和Dennis在Communications of the ACM上发表了论文介绍UNIX系统。
那时,Communications是计算机科学的主要刊物,那篇文章在学术界引起了广泛的兴
趣。第五版正式以"仅用于教育目的"的方式向各大学提供。价格也只是名义上够磁带
和手册的费用。第五版在许多大学用作教学。

这时Ken和Dennis仍在积极地投入UNIX的研究;然而,他们继续避免提供支持的承诺。
他们的小组被称为"Research"(或在贝尔实验室内部称为"1127")。他们的机器被命名
为research。你可以通过uucp向他们发送bug报告,打电话询问他们,甚至进他们的
办公室和他们一起讨论UNIX的问题。通常他们总能在其后的若干天内解决bug。

与research的在贝尔实验室的另一个小组被称为PWB,Programmer's Workbench。由
Rudd Canaday领导的PWB小组支持一个用于大型软件开发的UNIX版本。PWB试图向那些
并不对UNIX研究感兴趣的用户通过服务。他们做了大量的工作来强化了UNIX的核心,
包括支持更多的用户。PWB的两个非常有用的计划分别是SCCS(源码控制系统)和RJE
(使用UNIX作为实验室其它主机的前段)。PWB最终注册为PWB/UNIX1.0。

UNIX替代了越来越多的PDP-11上的DEC公司的操作系统。尽管UNIX不被支持,但她的
魅力远胜于她的问题而吸引了许多的用户。除了系统本身的许多优点外,源码是可以
获得的,而且系统从整体上也是易于理解的。进行修改和扩充很容易。这使得UNIX与
其同类的其它操作系统大不一样。

1975年,第六版UNIX系统发行了。这是第一个在贝尔实验室外广为流传的UNIX系统。
AT&T(通过West Electric Co.)开始向商业和政府用户提供许可证。

Mike Lesk发行了他的可移植C语言库。该库提供了可在任何支持C语言的机器上进行
I/O的库例程。这是用C书写可移植代码的重要的一步。Dennis后来重写了该库并称其
为标准I/O库(即所谓stdio)。

UNIX用户们首次在纽约市进行会晤,有纽约城市大学的Mel Ferentz作东。当时有40人
参加。从此以后该会议每两年举行一次,会议是极不正式的。如果你想进行演讲,你
就举手,并且讲就行了。这些会议是极好的交流bugs报告,修改和软件的方式。每个人
都带上两卷磁带参加会议,一卷是给别人的,一卷是用来录制新东西的。

Ferentz创办了一个称为UNIX News的实事通讯(newsletter)的服务,免费为用户发送消
息。后来冒出一个来自贝尔的家伙告知他不能使用UNIX的名字,于是他把它改名为
;login。随着越来越多的人想要实事通讯的服务,Ferentz不堪免费提供这些服务了。
于是创立一个组织来处理这些费用,它被称为USENIX。USENIX很快负起了其它的义务,
包括组织会议和软件的分布。

远在澳大利亚的新南威尔士大学,John Lions正在为操作系统课程准备教程。课程的
目的是UNIX实例研究,课程的笔记被出版为"A Commentary on the UNIX Operating
System"。笔记中包括了加上了Lion's注释的整个V6 UNIX核心。基本上每一行都被解释
了(包括那些被注明"无需理解(not expected to understand)的代码行")。

由于引用了大量的源码,该书的出版许可最终被撤回了。但因其已经销售,UNIX因此比
以往更易于获得。

|
不错,我想转发给一些朋友看。

|
好,
以前在某个论坛看到过, 后来就久已就一直找不到了.

|
太长了,我要工作了.

|
历史就在这里改写!unix  and   c

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.util.regex类pattern的类成员方法: unix_lines定义及介绍
  • 刚刚接触Unix系统和Unix编程。急需Unix下多线程程序设计和网络Socket程序设计方面的资料。
  • unix/Linux下c++ boost thread库读写锁介绍
  • 关于UNIX的历史 : 1973年,K.Thompson和D.M.ritchie,用C改写UNIX。那么,在此之前,UNIX是用什么写的?
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • 没有unix系统我如何学习unix
  • php将unix时间戳转换成字符串时间函数(date)
  • unix盘哪里有下载的??哪里有比较好的unix论坛??万分感谢!!!!!!!!!
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • 急!装完unix5.06,再装win2000。重启后不能进unix.
  • UNIX特急!!!digital unix问题,请专家快来!!!
  • UNIX支持中文否,请推荐UNIX好书
  • SCO UNIX 5.0用软盘启动之后无法启动UNIX
  • 散分!!unix 用户调查!!!你使用哪款unix
  • hp unix 和 sco unix的区别
  • 入门问题,我想向UNIX编程方向发展,单目前不会UNIX,我该如何做
  • 强烈建议将linux/Unix栏目放到“软件开发者”大类里面来。----Unix开发的人助威支持!!!
  • 现在那些unix比较流行?Linux和 Unix有 什么区别?
  • 小问题, Unix 如何建立一个文件 ,unix 文件有后缀名吗
  • 我想学习Unix,请高手给个下载网址,用linux来学习Unix差别大吗?
  • 请问各位unix大虾,哪有免费的unix下载?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3