-----------------------------------------------------------------------------
本文译自"Life with UNIX(R) -- A Guide for Everyone"
译者向次书的两位作者Don Libes, Sandy Ressler表示衷心的感谢,他们为人们更好地
了解UNIX作出了贡献。
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因此比
以往更易于获得。
1977年,Interactive Systems公司称为首家向最终用户出售UNIX的公司。UNIX终于成了
产品。
在同一时期有三个小组将UNIX移植到不同的机器上。Steve Johnson和Dennis Ritchie
将UNIX移植到一台Interdata 8/32机器上。澳大利亚的Wollongong大学的
Richard Miller和同事们将UNIX移植到一台Interdata 7/31上。Tom Lyon和其在普林斯
顿(Princeton)的助手们完成了到VM/370的移植。
每次移植都干的十分漂亮。具体点,所有这三台机器都与PDP-11有显著的差异。事实上
,这正是问题之所在。许多操作系统都没有被设计为能在多种机器上跑。类似地,许多
机器又为了某种特定的操作系统而设计。例如,如果硬件能完成进程之间的保护,操作
系统利用这功能就很有意义了。
随着厂家提供带有附加选项的硬件,操作系统被写成理解这些硬件的。它们为了利用这
些特殊的硬件大多是用汇编来写的。
Dennis和Ken的最大的突破在于他们清楚的认识到在效率和效用之间存在着折衷。如果你
能避免白手起家而完成移植的工作而且并不牺牲太多的性能,那么这是值得的。作这样
的决定并不困难,远在他们用C重写UNIX核心时他们已成功地使用类似的思想。如果用汇
编写,UNIX可能会更快和更小,但系统变得如此的易于修改,理解和移植,牺牲速度和
内存是值得的。
UNIX很快被移植到其它类型的PDP-11上。每个都有些很有趣的功能且不断地加大了UNIX
可支持硬件的复杂度(这些功能包括浮点处理器,可写微码,内存管理和保护,分离的
指令和数据空间等等)。
然而,PDP-11系列很明显地都是基于16位地址空间的,所有的程序都实现于64Kb的大小。
很滑稽的是这到促进了小程序的编写。有了支持合作进程的管道以及exec()之后,通过
它们将几个小的应用连接一个大的应用。这是UNIX编程的一个特点,也许我们要感谢
PDP-11有限的地址空间。
UNIX被移植到IBM的Series1小型机上(尽管有人认为这好比是将物质与反物质结合在一起
)。Series1有与PDP-11相同的字大小,但它的字节是颠倒的。因此当系统初次启动时它
打印出来的是"NUXI"而不是"UNIX"。从那时起,"NUXI"问题就成了字节顺序问题的代名词。
1977年,加利福尼亚伯克利分校(the University of California, Berkeley)的计算机
科学系开始发行他们的Pascal解释器。其中还包括了一些新的设备驱动程序,对核心的
修改,ex编辑器,和一个比V6的Shell更好用的Shell("Pascal Shell")。这就是所谓的
1BSD(1st Berkeley Software Distribution)。
-----------------------------------------------------------------------------
本文译自"Life with UNIX(R) -- A Guide for Everyone"
译者向次书的两位作者Don Libes, Sandy Ressler表示衷心的感谢,他们为人们更好地
了解UNIX作出了贡献。
-----------------------------------------------------------------------------
本文译自"Life with UNIX(R) -- A Guide for Everyone"
译者向次书的两位作者Don Libes, Sandy Ressler表示衷心的感谢,他们为人们更好地
了解UNIX作出了贡献。
-----------------------------------------------------------------------------
本文译自"Life with UNIX(R) -- A Guide for Everyone"
译者向次书的两位作者Don Libes, Sandy Ressler表示衷心的感谢,他们为人们更好地
了解UNIX作出了贡献。
中文翻译 BlueOcean ( para@cs.sebuaa.ac.cn )
我们希望这些文件中的资讯能对你有所帮助,但是并不保证是正确的,若发生损害请
自行负责
--
Buck barks in the darkness
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: ns.nlsde.buaa.e]
BBS水木清华站∶精华区作者: blue_stone 时间: 2006-01-10 09:51
BBS水木清华站∶精华区
发信人: BlueOcean (Blue), 信区: Unix
标 题: UNIX演义(五) ( Politics -- Part I )
发信站: BBS 水木清华站 (Fri Dec 19 23:48BBS水木清华站∶精华区
发信人: BlueOcean (Blue), 信区: Unix
标 题: UNIX演义(五) ( Politics -- Part I )
发信站: BBS 水木清华站 (Fri Dec 19 23:48:55 1997)
-----------------------------------------------------------------------------
本文译自"Life with UNIX(R) -- A Guide for Everyone"
译者向次书的两位作者Don Libes, Sandy Ressler表示衷心的感谢,他们为人们更好地
了解UNIX作出了贡献。
1.6 Politics - 第二部分
UNIX的源码被视为商业秘密. 如果你不签定许可证就使用UNIX的源码, UNIX就不再是什么
商业秘密了, 你也就可以无视AT&T的皇权而发售UNIX了(当然, 你可能要付给你的律师比
签许可证更多的钱来打赢官司). AT&T警惕地保护着UNIX的源码, 使它保持商业秘密的状态.
不过AT&T已经比仅是UNIX作为教育目的走得更远了. 用于教育目的的许可证非常便宜, 学
生不必签许可证和不在乎协议就可以阅读源码. 虽然如此, 作为鉴定许可证的一方, 如果
某人"unauthorized use or distribution of the code, methods, and concepts
contained in or derived fromt the UNIX product", 你和你的公司将为此而负法律责任.
哦, UNIX的手册也在其列.
AT&T的位置很古怪, 她虽然不是软件商但却发行软件许可证. 不用问, 这许可证与其他许
可证是不同的. 早期的许可证是由Western Electric Co.发行的, AT&T的许可证发行部门
就座落在那. 现在, 许可证由AT&T直接发行.
早期的许可证是源码许可证. 你可以得到所有的为不同的PDP-11而设计的完整源码. 对商
业机构的价格是$20,000. 如果你有不只一台机器, 你必须为每台机器再购买binary许可证.
如果你不能再把他们发售的话, $8,000可是相当昂贵的. 相反, 教育机构只需付几百美元
就可买下源码许可证, 这笔钱仅够贝尔实验室支付管理费用和购买磁带.
在这一点上, UNIX被称为"as is". 简便AT&T发行binary许可证, 他们也不自己发售它. 某
家公司想运行UNIX就必须购买至少一份源码许可证并且找一些专家. 许多公司和顾问冒出
来填补这一空缺. 第一家对UNIX提供商业支持的是于1977年成立的Interactive Systems
Corp. 她的产品称为IS/1, 运行在PDP-11系列上(当然应该是它).
在1980年, AT&T最终发行了distribution binary许可证. 根据此许可证生产的二进制代码
可由开发商向其他公司发售. 该许可证比早期的binary许可证要便宜得多--大概花费
$1,500. 首家使用该许可证的是Onyx Systems公司.
很有趣, Oynx系统是用Zilog公司的Z8000构造的, 一台微处理器. 它也是第一台基于微处
理器的UNIX系统, 如果它使用早期的许可证, 可能它的价格就很贵, 它也就不可能卖出去
了. 一年内, 又有几家公司推出了基于微处理器的UNIX系统. 价格持续在很低的$10,000
左右, 以前不得不考虑CP/M, MP/M和其他便宜的基于微处理器的系统的公司也可以购买
UNIX了.
-----------------------------------------------------------------------------
本文译自"Life with UNIX(R) -- A Guide for Everyone"
译者向次书的两位作者Don Libes, Sandy Ressler表示衷心的感谢,他们为人们更好地
了解UNIX作出了贡献。