📄 00000001.htm
字号:
工作。几家大学都和贝尔实验室签定协议,获得了第四版的拷贝。协议主要是不泄露 <BR>源码,在那时还没有许可证这回事。Ken自己录制磁带,不收任何费用。第一卷磁带 <BR>由在纽约的哥伦比亚大学获得。 <BR>1974年,Ken和Dennis在Communications of the ACM上发表了论文介绍UNIX系统。 <BR>那时,Communications是计算机科学的主要刊物,那篇文章在学术界引起了广泛的兴 <BR>趣。第五版正式以"仅用于教育目的"的方式向各大学提供。价格也只是名义上够磁带 <BR>和手册的费用。第五版在许多大学用作教学。 <BR>这时Ken和Dennis仍在积极地投入UNIX的研究;然而,他们继续避免提供支持的承诺。 <BR>他们的小组被称为"Research"(或在贝尔实验室内部称为"1127")。他们的机器被命名 <BR>为research。你可以通过uucp向他们发送bug报告,打电话询问他们,甚至进他们的 <BR>办公室和他们一起讨论UNIX的问题。通常他们总能在其后的若干天内解决bug。 <BR>与research的在贝尔实验室的另一个小组被称为PWB,Programmer's Workbench。由 <BR>Rudd Canaday领导的PWB小组支持一个用于大型软件开发的UNIX版本。PWB试图向那些 <BR>并不对UNIX研究感兴趣的用户通过服务。他们做了大量的工作来强化了UNIX的核心, <BR>包括支持更多的用户。PWB的两个非常有用的计划分别是SCCS(源码控制系统)和RJE <BR>(使用UNIX作为实验室其它主机的前段)。PWB最终注册为PWB/UNIX1.0。 <BR>UNIX替代了越来越多的PDP-11上的DEC公司的操作系统。尽管UNIX不被支持,但她的 <BR>魅力远胜于她的问题而吸引了许多的用户。除了系统本身的许多优点外,源码是可以 <BR>获得的,而且系统从整体上也是易于理解的。进行修改和扩充很容易。这使得UNIX与 <BR>其同类的其它操作系统大不一样。 <BR>1975年,第六版UNIX系统发行了。这是第一个在贝尔实验室外广为流传的UNIX系统。 <BR>AT&T(通过West Electric Co.)开始向商业和政府用户提供许可证。 <BR>Mike Lesk发行了他的可移植C语言库。该库提供了可在任何支持C语言的机器上进行 <BR>I/O的库例程。这是用C书写可移植代码的重要的一步。Dennis后来重写了该库并称其 <BR>为标准I/O库(即所谓stdio)。 <BR>UNIX用户们首次在纽约市进行会晤,有纽约城市大学的Mel Ferentz作东。当时有40人 <BR>参加。从此以后该会议每两年举行一次,会议是极不正式的。如果你想进行演讲,你 <BR>就举手,并且讲就行了。这些会议是极好的交流bugs报告,修改和软件的方式。每个人 <BR>都带上两卷磁带参加会议,一卷是给别人的,一卷是用来录制新东西的。 <BR>Ferentz创办了一个称为UNIX News的实事通讯(newsletter)的服务,免费为用户发送消 <BR>息。后来冒出一个来自贝尔的家伙告知他不能使用UNIX的名字,于是他把它改名为 <BR>;login。随着越来越多的人想要实事通讯的服务,Ferentz不堪免费提供这些服务了。 <BR>于是创立一个组织来处理这些费用,它被称为USENIX。USENIX很快负起了其它的义务, <BR>包括组织会议和软件的分布。 <BR>远在澳大利亚的新南威尔士大学,John Lions正在为操作系统课程准备教程。课程的 <BR>目的是UNIX实例研究,课程的笔记被出版为"A Commentary on the UNIX Operating <BR>System"。笔记中包括了加上了Lion's注释的整个V6 UNIX核心。基本上每一行都被解释 <BR>了(包括那些被注明"无需理解(not expected to understand)的代码行")。 <BR>由于引用了大量的源码,该书的出版许可最终被撤回了。但因其已经销售,UNIX因此比 <BR>以往更易于获得。 <BR>1977年,Interactive Systems公司称为首家向最终用户出售UNIX的公司。UNIX终于成了 <BR>产品。 <BR>在同一时期有三个小组将UNIX移植到不同的机器上。Steve Johnson和Dennis Ritchie <BR>将UNIX移植到一台Interdata 8/32机器上。澳大利亚的Wollongong大学的 <BR>Richard Miller和同事们将UNIX移植到一台Interdata 7/31上。Tom Lyon和其在普林斯 <BR>顿(Princeton)的助手们完成了到VM/370的移植。 <BR>每次移植都干的十分漂亮。具体点,所有这三台机器都与PDP-11有显著的差异。事实上 <BR>,这正是问题之所在。许多操作系统都没有被设计为能在多种机器上跑。类似地,许多 <BR>机器又为了某种特定的操作系统而设计。例如,如果硬件能完成进程之间的保护,操作 <BR>系统利用这功能就很有意义了。 <BR>随着厂家提供带有附加选项的硬件,操作系统被写成理解这些硬件的。它们为了利用这 <BR>些特殊的硬件大多是用汇编来写的。 <BR>Dennis和Ken的最大的突破在于他们清楚的认识到在效率和效用之间存在着折衷。如果你 <BR>能避免白手起家而完成移植的工作而且并不牺牲太多的性能,那么这是值得的。作这样 <BR>的决定并不困难,远在他们用C重写UNIX核心时他们已成功地使用类似的思想。如果用汇 <BR>编写,UNIX可能会更快和更小,但系统变得如此的易于修改,理解和移植,牺牲速度和 <BR>内存是值得的。 <BR>UNIX很快被移植到其它类型的PDP-11上。每个都有些很有趣的功能且不断地加大了UNIX <BR>可支持硬件的复杂度(这些功能包括浮点处理器,可写微码,内存管理和保护,分离的 <BR>指令和数据空间等等)。 <BR>然而,PDP-11系列很明显地都是基于16位地址空间的,所有的程序都实现于64Kb的大小。 <BR>很滑稽的是这到促进了小程序的编写。有了支持合作进程的管道以及exec()之后,通过 <BR>它们将几个小的应用连接一个大的应用。这是UNIX编程的一个特点,也许我们要感谢 <BR>PDP-11有限的地址空间。 <BR>UNIX被移植到IBM的Series1小型机上(尽管有人认为这好比是将物质与反物质结合在一起 <BR>)。Series1有与PDP-11相同的字大小,但它的字节是颠倒的。因此当系统初次启动时它 <BR>打印出来的是"NUXI"而不是"UNIX"。从那时起,"NUXI"问题就成了字节顺序问题的代名词。 <BR>1977年,加利福尼亚伯克利分校(the University of California, Berkeley)的计算机 <BR>科学系开始发行他们的Pascal解释器。其中还包括了一些新的设备驱动程序,对核心的 <BR>修改,ex编辑器,和一个比V6的Shell更好用的Shell("Pascal Shell")。这就是所谓的 <BR>1BSD(1st Berkeley Software Distribution)。 <BR> <BR>----------------------------------------------------------------------------- <BR>UNIX演义(三) <BR> <BR>1.3 思想 <BR>今天与UNIX相关的特地从那之后就大部分全有了。我们已谈过了她的可移植性。其它的 <BR>值得吹吹的特点有:1)一致的文件,设备和进程间I/O,2)启动异步进程的能力,3)用 <BR>其它Shell来替代默认Shell的能力,和4)层次化的文件系统。 <BR>还有些特点一样使UNIX流行,下述特点被普遍认为是绝对不容争辩的。使人惊讶的是, <BR>70年代的许多系统并不是没有这些特点,但80年代的许多系统却抛弃了这些特点(诸如 <BR>IBM的CMS系统的flat文件系统)。 <BR>值得一提的特点是: <BR>1) 命令和库的一致性。这使得堆积木的方法变得非常容易。因为程序员必须假设自己 <BR>的程序的输出是其它程序的输入,他们不能输出太多的空话,诸如其它系统工具中输出 <BR>的"麻点"。UNIX中大多数程序使用标准的输入和输出。 <BR> 库和系统调用都似乎都提供一种做事的方法,即用最简单的方法去解决大多数问题。 <BR>这种方法一直在核心的构造中持续,UNIX的核心小得一个程序员就可以理解整个核心。 <BR>2) 主要的文件类型是文本。例如,/etc/passwd可以用一般的文本编辑器来编辑。在大 <BR>部分其它的系统上你不得不用一个特殊的工具来读写这些文件。而在UNIX中,你有了编 <BR>辑器你就可以控制每一样东西。 <BR>3) Shell可用来编程,它有着丰富的控制结构和参数传递机制。许多人不须为学C语言 <BR>而费心,因为Shell和已有的程序可以很容易的组合起来完成相同的功能。有趣的是Shell <BR>的控制结构(如goto,test)其实都是用独立的程序来实现的。 <BR>第六版的手册还不到300页,而且装成一卷正合适。sh的说明有三页长。 <BR>到1978底已有600多个UNIX安装。大部分是大学和政府机关。 <BR> <BR> <BR>-- <BR>※ 来源:·BBS 水木调试站 Leeward.lib.tsinghua.edu.cn·[FROM: 166.111.68.98] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -