UNIX演义

pi1ot 2003-12-11 04:51:58
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因此比
以往更易于获得。
...全文
126 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Northwindrocker 2003-12-16
  • 打赏
  • 举报
回复
历史就在这里改写!unix and c
Flamesong 2003-12-16
  • 打赏
  • 举报
回复
太长了,我要工作了.
wti 2003-12-13
  • 打赏
  • 举报
回复
好,
以前在某个论坛看到过, 后来就久已就一直找不到了.
loveisbug 2003-12-11
  • 打赏
  • 举报
回复
不错,我想转发给一些朋友看。
pi10t 2003-12-11
  • 打赏
  • 举报
回复
Steve Holmgren: 合写了UNIX的Arpanet(NCP)的代码.

Peter Honeyman: Honey DanBer uucp中的Honey. 编写了pathalias.

Mark Horton: 编写了curses, terminfo并对uucp映射和Usenet做了很大
贡献.

Stephen("scj")Johnson: 编写了yacc, pcc(Portable C Compiler), lint和早期的
spell. 辅助Dennis完成了UNIX的首次移植之一
(Interdata8/32).

Bill("wnj")Joy: 编写了伯克利发行中的许多软件, 包括虚存, 网络,
Pascal, vi, csh和termcap. Sun Microsystem创建者
之一. 设计了NFS. 由于伯克利UNIX的出色工作获得了
1986年ACM Grace Murray Hopper Award.
(译者: 就是William N. Joy. 你在许多早期的UNIX文
章中发现的就是他. Bill Joy, 你太COOL了!)
(译者: 是不是开了公司的就都是Bill(帐单), 象那个
Bill)

David Kashtan: 编写了Eunice.

Howard Katseff: 编写了sdb和last.

Lou Katz: USENIX的第一任主席.

Brian("bwk")Kernighan: K&R和awk中的K. The C Programming Language的作者
之一, 现在大部分的编程风格都是源自这本书. 还编写
了ratfor, ditroff, eqn和pic. Version 7的负责人
之一.

Andrew Koenig: 编写了varargs(a.k.a. stdargs).

David Korn: 编写了ksh.

Ted Kowalski: 负责现在的fsck.

Bob Kridle: 创立了Mt.Xinu.

Jim Kulp: 开发了早期的作业控制和csh的目录堆栈.

Peter Langston: 举办了USENIX的go联赛. Eedie和Eddie是他的朋友, 你
可以打电话, (201)644-2332找他们.

Sam Leffler: 同Bill Shannon一起编写了tip. 4.2BSD和伯克利TCP的骨干.

Mike Lesk: 编写了lex, tbl, refer, -ms宏, uucp和可移植C库,
stdio的前身.

Don Libes: Life With UNIX的作者之一. 没啥好提的.
(译者: 老兄, 你也太歉虚了, :)

John Lions: 编写了第一本描述UNIX的书. 经常被误拼为"Lyons".

Tom London: 32V的作者之一, 第一个VAX版的UNIX.

Brian Lucas: 第一个分布式文件系统的设计者之一, 该分布式文件
系统由1台PDP-10做Server, 4台PDP-11做Client.

Heinz Lycklama: 同Dong Bayer完成了MERT. 编写了第一个微处理器版的UNIX,
在LSI-11上的LSX. 参与了早期的UNIX标准化工作, 包括
第一个UNIX标准(/usr/group).

Tom Lyon: 完成了UNIX的最初移植之一(VM/370).

Joe Maranzano: 负责USG.

Bob Marsh: /usr/group的创办者和第一任主席. 创立了Onyx, 第一个
提供非PDP的, 基于微处理器的UNIX的厂商.

John Mashey: 编写了Mashey Shell, 后来被融入了Bourne Shell. PWB的
主力.

Doug McIlroy: 提出了管道的概念. 编写了tmg. 还编写了diff和spell. 他对
语音处理的研究导致他写的grep.

Kirk McKusick: 完成了伯克利的快速文件系统(FFS)和可移植的目录访问
例程. 4.3BSD的骨干. 同Peter Kessler共同写了gprof.
(译者: 现在还在做BSD呢. BSD4.4完了之后是不是有
BSD4.5.)

Lee McMahon: 编写了sed.

Al McPherson: 编写了fsdb.

Richard Miller: 完成了最早的UNIX移植之一(Interdata7/32).

Robert Morris: 同Lorinda Cherry完成了dc和bc.

Bill Munson: 负责Ultrix.

Mike Muus: 负责JHU/BRL UNIX.

Alan Nemeth: 负责BBN的C machine, 第一台UNIX的微码实现.

Landon Noll: 国际最糟糕的C程序比赛的创立者和裁判.

Dan Nowitz: Honey DanBer中的Dan. 对最初的uucp作出了巨大贡献.

Joseph Ossanna: 负责troff.
(译者: 前面提到的-mX的宏均为troff或nroff的宏包.)

Rob Pike: Blit位图终端的开发之一.

P.J.Plauger: 写了第一个商业C编译器. 创立了Whitesmiths公司.
负责Idris.

Dave Presotto: 同Bill Joy合写了vgrind.

Rick Rashid: 负责Mach. 设计了CMU的IPC(Interprocess Communication)
(译者: 新思想的起源人之一.)

Brian("ber")Redman: Honey DanBer中的Ber.

Bill Reeves: 同Tom Duff和Mike Tilson合写了vcat.

John Reiser: 32V的作者之一.

Sandy Resseler: 谁啊??????

Dennis("dmr")Ritchie: 他经常拒绝别人说他和Thompson做的一样多, 但他确实是
UNIX个另一半. 主要负责C语言. 由于和Thompson对UNIX
的巨大贡献, 获得了许多有声望的大奖, 包括1982年的
IEEE Emmanuel award和1983年的ACM图灵奖.

Marc Rochkind: 编写了SCCS和bfs. PWB的主力.

Rob Rosenthal: 第一个分布式UNIX文件系统的作者之一.

Steve Schaefer: 负责CPATH, LPATH和MPATH.

Deborah Scherrer: 在劳伦斯伯克利实验室时合作实现了VOS. 创建了软件
工具用户组.

Eric Schienbrood: 编写了more.

Eric Schmidt: 编写了BerkNet.

Jeff Schriebman: 创建了Unisoft公司.

John Seamons: 完成了首例SUN板上的UNIX移植.

Donn Seeley: 对f77, Ritchie的编译器和pcc做了很多贡献.

Bill Shannon: 同Bill Jolitz在PDP-11上实现了可覆盖的核心. 编写了
早期的BSD printer spooler程序.

Dick Shapazian: 设计了起初的UNIX许可证制度.

Kurt Shoens: 编写了伯克利的Mail(a.k.a. mailx), fmt.

Richard("rms")Stallman: 编写了emacs. GNU和FSF(Free Software Foundation)的
创始人之一.

Armando("aps")Stettner: 花了几年的时间来让DEC承认UNIX的存在.

Bjarne Stroustrup: 编写了C++.

Joe Sventek: 在劳伦斯伯克利实验室时合作实现了VOS. 创建了软件
工具用户组.

Andrew Tanenbaum: 编写了MINIX.
(译者: 不必说了, 这么可爱的小老头.)

Rebecca Thomas: 同Jean Yates共同编著了第一本关于UNIX的商业用书.

Ken("ken")Thompson: 该谴责他, 他发明了UNIX. 因为同Dennis的在UNIX方面的
工作获得了许多有声望的大奖, 包括1982年的IEEE Emmanuel
award和1983年的ACM图灵奖.

Walter Tichy: 编写了RCS.

David Tilbrook: 创立了HCR.

Michael Toy: 两个很有名的游戏, rogue和/etc/shutdown.

Michael Ubell: 编写了第一个历史原型, 后来融入了csh.

Larry Wall: rn, patch和perl的作者.

Larry Wehr: 提出了现在使用的命名管道的概念.

Peter Weinberger: awk中的W. 编写了lcomp.

Peter Weiner: 从Rand公司获得了第一个商业UNIX许可证. 创立了
Interactive Systems Corp.

Lauren Weinstein: 负责Stargate.

David Willcox: 编写了ideal.

Dave Yost: 对Rand编辑器和MH做出巨大贡献.

Walter Zintz: 创立Uni-Ops用户组.

Steve Zucker: 创立了早期的命名管道.


MULTICS
Bell Labs, MIT, GE
|
|
UNICS
1960s
AT&T
(First version of UNIX)
|
|
UNIX
Late 1960s
Thompson,Ritchie
Bell Labs
_________|_____________
| |
BSD SV
UC Berkeley AT&T
| | |________________|_|______
_____| |__________________| |
| | |
4.3BSD OSF/1 SVR4
UC Berkeley OSF(IBM...) 1989
| (Mostly BSD) AT&T,SUN
________|_____ |
| | |
4.4BSD FreeBSD,NetBSD SVR4.2(UnixWare)
UC Berkeley 1991
Univel
|
|
Open Server R5
SCO
pi10t 2003-12-11
  • 打赏
  • 举报
回复
1.12 名人录

我们不想罗列所有负责开发UNIX的人的名单, 这里仅罗列那些经常被谈及的人物, 尽管
他们可能只在UNIX会议的交谈中被涉及.

把每个参加UNIX开发的人都记下来是非常可能的. 许多人尽管其工作很重要, 但未留下
什么可以识别的手迹. 其他人则可能从整体上对UNIX做出了很大的贡献, 但讲不清到底
是哪一个具体的部分. (似乎所有的人都Hack了核心.)总之, 对遗漏的同志请你原谅.
参加UNIX的许多人是因为在其他非UNIX的领域做出的贡献而出名的. 我们没有列出这些
对世界作出贡献--不是因为我们狭隘--相反, 这些自有它们自己的颂功簿.

有些人的昵称也是出了名的, 大概是因为他们都随着早期发行的UNIX中的/etc/passwd文
件或源码中而传播的. 我们也列下了这些昵称, 所以当你听别人说, "dmr说..."的时候,
你就知道他们是指Dennis Ritchie.

Mike Accetta: 负责符号连接, key(后来成为man -k)和/dev/pty.
(译者: /dev/pty就是虚终端)

Rick Adams: UUNET的骨干. 写了SLIP协议.

Alfred Aho: awk中的A. egrep和dbm库的作者.

Eric Allman: 编写了sendmail, trek, tset和-me宏. Ingres的主力.
(译者: 今天你该把对sendmail的抱怨送给这位仁兄.
喂, 老兄, 做的什么东东, 看不懂, 还有好些漏洞.)

Ken Arnold: 编写了curses, fortune, 还包括许多的游戏.

Ozalp Babaoglu: 同Bill Joy一起负责伯克利UNIX的虚存.

W.O.Baker: 驳回Tompson, Ritchie和Ossana等人对DEC-10的请求.
这到导致了一个在更小的机器上的更小巧的系统的开
发.

Andreas Rechtolsheim: 设计了最初的SUN板.

Steve Rellovin: 编写了第一个Usenet.

Walt Bilofsky: 编写了Rand编辑器.

Biff: Heidi的小狗.
(译者: 这可不是小话. UNIX里的biff命令确实就是这
条狗的名字. 它总是向这邮递员汪汪地叫个不停)

Irma Brien: 邮寄了所有的第六版UNIX的磁带.

Bruce Borden: 负责MH和Rand编辑器.

Steve("srb")Bourne: 创造了Bourne Shell. 编写了adb.

Steve Bunch: UNIX的APRA(NCP)代码的合作者.

Brent Byer: 加入了分离的指令/数据空间来支持PDP-11/45.

Ron Cain: 编写了Small C, 第一个public-domain的C编译器.

Rudd Canaday: 同Dennis和Ken一起设计UNIX的文件系统. 创建了PWB
小组.

Lorinda Cherry: Writer's Workbench(diction, style等等), bc个dc
的作者. 还编写了eqn和bwk.

Greg Chesson: Wood Hermen乐团的前任鼓手, mpx文件(select()的
前身), 最初的uucp packet驱动, Datakit, 行律和
dh驱动中的试配控制的开发者.

Douglas Comer: 写了Xinu. 同Paul McNabb一起实现了第一个UNIX的
X.25实现, 同Bob Brown和Keith Williamson编写了
System V的cron.

Dave Crocker: 编写了MMDF, MS.

Bill Croft: 编写了第一个UNIX的网络实现(在PDP-11系列上).

Ted Dolotta: 编写了-mm宏. USG的第一任董事.

Robert Elz: 编写了伯克利的quota和自动配置.
(译者: 真讨厌, 害得我总得删东东, 烦)

Robert Fabry: 伯克利CSRG的原任系主任, 争取到了DARPA的资助.

Stu("sif")Feldman: make, f77和efl的作者. 有非常好的酒窖.

Mel Ferenz: 主办了第一个UNIX用户组会议. 创办了UNIX News
(a.k.a ;login:).

David Fiedler: 创办和编辑了许多的UNIX和C的杂志, 时事通讯等等,
包括The UNIX Software List, The C List, Unique,
UNIX Review, The C Journal, 和The C Users Journal.

John Foderero: 编写了Frenz Lisp.

Herb Gills: 编写了xargs.

Jim Gettys: 与别人合作负责X窗口系统.
(译者: 一眼就看出来和UNIX有缘了, 名字上都写着了,
getty吗)

George Goble: 完成了极有影响的非对称多处理机(两台VAX-11/780s)
的UNIX移植.

James Gosling: 编写了UNIX的emacs. 同David Rosenthal合写了NeWS.

Gary Grossman: 与别人合写了UNIX的Arpanet(NCP)代码.

Bob Gurwitz: 写了BBN的TCP/IP实现, 后来成为伯克利发行中的一部分.

Doug Gwyn: 编写了BRL的BSD上的System V的模拟.

Teus Hagen: 建立了美国(decvax)和欧洲(mcvax)和其他一些国家
的首次连接.

Dick Haight: 编写了find, cpio, expr. 将shell中加入了有名变量.
PWB的主力.

Chuck Haley: 编写了tar. 同Bill Joy一起实现了早期的ex和Pascal编
译器.

Dennis Hall: 在劳伦斯伯克利实验室时合作实现了VOS. 创建了软件
工具用户组.

Robert Henry: 编写了error.
pi1ot 2003-12-11
  • 打赏
  • 举报
回复
DEC(Digital Equipment Corporation,数字设备公司)

DEC一直处于非常尴尬的位置。所有的早期UNIX用户都在DEC的硬件平台(PDP-11和VAX)上
运行UNIX。然而DEC并不对UNIX提供支持。这对于硬件类的bug来说是个非常严重的问题。
常常都是DEC的检测程序和DEC自己的操作系统运行正常,但UNIX却不能。你得靠自己。
不管怎样DEC内部总有一伙人对UNIX感兴趣。而且这一情况越来越明显,即UNIX在利润报告
和损失估计中越来越不可忽略。至少有一件事用户是满意的,UNIX给用户选择软件和外设的
很大自由。DEC的系统则强制你必须使用为DEC设计的软件和终端。相对而言,UNIX的限制更
少一些。

当UNIX被移植到其他机器时,DEC受了最后一击。她认识到,如果可以选择的话,用户宁愿
买可以跑他们感兴趣的操作系统的机器。DEC现在全面对UNIX(在市场上称为ULTRIX)提供支
。但DEC更愿意用户选择他们的专有操作系统,VMS,它被锁定在DEC的硬件上。DEC并不希望
拒绝大量的UNIX用户对DEC的硬件感兴趣。

截至1986年,在DEC的硬件上大约有6000个DEC ULTRIX的许可证,14,000 4.x BSD的许可证
20,000 AT&T System V的许可证。从此DEC对不管是新旧机器都提供UNIX支持。有趣的是,
AT&T不在对基于DEC硬件的UNIX提供支持。

其他

除了上述这些单位之外,许多大学和研究机构都独创了许多的UNIX应用和扩展。这些座落在
加拿大,澳大利亚,新西兰,欧洲和全美国的机构发行他们自己的版本或发行带有自己改进
的伯克利或AT&T版本。某些变化得太大了,以至于不能在称为UNIX了。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了.

1.7-1.9

1.10 Politics -- Part III

USG和PWB间的竞争终于停止了, 他们合并在一起. 这两个组的许多成绩都被熔融了UNIX.
合并后的小组称为USDL(UNIX System Development Laboratory)并且于1982年推出了UNIX
System III. System III借鉴了CB UNIX, 对事物处理提供支持, CB UNIX是由哥伦比亚
贝尔运筹公司设计的. System III是贝尔实验室经西电注册的最好的UNIX版本.

美国政府判决AT&T公司是美国史上空前的反拖拉斯案例. 由Greene大法官宣判AT&T于
1984年解体为若干子公司. 同时, AT&T也被允诺可以进入计算机市场. 经过一番装备,
UNIX终于在AT&T信息系统公司, 她自己的家, 落户了.

1983年初, AT&T信息系统公司宣布了System V的诞生. 从此, AT&T从根本上改变了她的
运作风格. 她大大压低了UNIX的价格. AT&T第一次对UNIX提供支持. 而且更重要的是她
要保持未来的UNIX的向上兼容性. 这使潜在的许多用户更加有信心了, AT&T象IBM一样被
认为是最强大的, and with the chutzpa to sell coals to Newcastle. 在这之上,
AT&T拥有所有用户们期望得到的出品的所有权, 许多用户希望AT&T能够将伯克利UNIX中
有用的功能加到System V中, 但AT&T的做法令人们失望.

在此后的几年内, AT&T在UNIX的市场上做的很糟. AT&T倒是让其他人更好的出售了UNIX.
而且AT&T也没能组织IBM在PC市场上大踏步地前进. AT&T开始放弃DEC的硬件, 包括那些
从前用来开发UNIX的机器, AT&T想开辟使用自己设计的专有硬件的市场. 然而, 来自
摩托罗拉和NSC等硬件厂商的强有力的竞争, AT&T的努力极不令人满意. 1986年, AT&T估
计在计算机相关市场上损失了$1 billion.

AT&T分别在1984年和1986年宣布了System V R.2(Release 2)和SV R.3, 这两个版本都很
流行. 同时, AT&T与几个主要的芯片厂商达成协议, 保证UNIX的二进制兼容性. 此外,
AT&T还同意将XENIX和Sun的基于伯克利的UNIX融入System V中. 事情变得清楚了, UNIX
的未来都寄托在AT&T的组合版本十分能成功. 我们将在以后的章节里更加详尽地谈到此
事.

1.11 UNIX仅仅是历史吗?

UNIX仅仅是历史吗? 不, UNIX就在这. IDC(International Data Corporation)报导,
1985年UNIX的市场大约价值$3.6 billion. 全世界大约有6%的预算是花在计算机上的.
根据1987年12月发行的UNIXWORLD, 该年度有大约$5.5 billion花在UNIX系统上, 其中
10%是花在人家方面. IDC估计该年度全世界有大约8%的预算是用于计算机的.

Novon研究组宣称1987年间有大约300,300套UNIX系统出售. 在使用的UNIX系统达750,000
套. 估计有4.5 billion的UNIX用户, 而且用户花在UNIX上的机时高于DOS的.

预计1990年将销售的UNIX系统达450,000套, 大部分是商业用途. 到1991年, UNIX市场将
占整个计算机市场的20%, 而且还将不断地持续增涨.

很清楚, UNIX是成功的一例.

Dennis和Ken曾说: "UNIX的成功并不是过分依赖于新的创意, 更重要的是她是从一组丰
富的概念中精选并充分发掘的产物."这可能不是人们问UNIX为什么如此成功所期望得到
的答案. 不管怎样, 不断增涨的UNIX发行数目和UNIX持续的健康发展是惊人的.
pi1ot 2003-12-11
  • 打赏
  • 举报
回复
几个成为UNIX温床的机构是:

Rand,Hardvard and BBN

兰德(Rand)已经开发了第一个交互式分时系统并且很快就意识到了UNIX的价值。兰德与
BBN的Walt Bilofsky签定共同开发一个UNIX下的全屏幕编辑器。"Rand editor",这就
是第一个UNIX下的全屏幕编辑器,而且它成为第一个在实验室外部开发而又是必不可少
的程序。你可以想当然的认为在安装UNIX之后的第二步就是安装Rand editor。(说实话,
Rand editor有它自己的毛病,最可恶的是它极浪费CPU和带宽资源。)这种情况在继续。
你装上UNIX之后立即装入许多其它公共领域的工具(如,GNU Emacs,RCS,Usenet),它们
都是程序员的必备之物。甚至今天,人们也是对直接从工厂里出来的UNIX不满意。

在写兰德的编译器的那个时候兰德和BBN都没有UNIX系统。她们去哈佛租机时,哈佛有一
个Version 4系统。作为回报,哈佛可以使用Rand/BBN的改进软件。后来哈佛也开始加入
自己的改进,其中的一部分又反过来融入了Version 5。例如,Brent Byer为支持PDP-11
的分离映射而加入了分离的I/D(指令/数据)空间。

BBN继续履行合同,她后来在伯克利的UNIX开发中起了非常重要的作用。此时BBN已参加
了Arpanet计划(Arpanet是为美国国防部(DoD)开发的网络)。BBN利用她们的经验赋予
UNIX使用DoD协议来通讯的能力。这些工作后来在伯克利得到改进并捆绑在伯克利的软件
发布中。结果使用伯克利UNIX的公司都可以免费地进行网络互连。这导致了早期UNIX与
网络的亲密关系。

Lawrence Berkeley Laboratory - 虚拟操作系统和软件工具计划

在丹尼斯山(Dennis Hill)的劳仑斯实验室里,Deborah Scherrer和Joe Sventek拜读了
有Brian Kernighan和P.J.Plauger合著的软件工具"Software Tools"一书,他们觉得次
书很有价值。他们实现了书中的所有工具,包括一个Shell。更有趣的事他们并没有在一
台跑UNIX的机器上实现了它们。

为了可移植所有的源码都是用Fortran66写的,Fortran66是当时在几乎所有的机器都能得
到的唯一语言。Fortran不适于系统编程,不久Ratfor("Retional Fortran")诞生了。
Ratfor试图用C语言的许多特点(如,控制流结构)来改进Fortran。Ratfor被实现为一个预
处理器,输入Ratfor代码产生Fortran代码。Fortran代码可由任何Fortran编译器来编译。
这样任何人都可以最小的代价在自己的机器上安装软件工具。

他们花了不多的时间就完成将Kernighan和Plauger的工具移植到其它几个操作系统的任务。
同时,他们也掌握了对不同机器的抽象什么是有效的什么不是。在1979年,随着软件工具
计划被认同,她与USENIX(最大的面向技术的用户组)联合举办了会议。他们的许多抽象都
与UNIX很相似,许多人都看好软件工具计划,并希望通过她来将UNIX引入他们已有的机器。
在会议之后又有许多的移植完成了,不久一份关于虚拟操作系统(VOS)的规范出台了。VOS
定义了一个软件工具可以栖身其上的逻辑层。如果一台机器可以支持VOS它就可以支持这
些工具。尽管VOS的某些抽象在某些机器上很难实现,一个非常好的易于移植的开发环境
--软件工具成形。

成就的一个例子就是软件工具支持进程间的管道--甚至是许多根本不提供进程间通讯和多
任务的系统都可以。怎么实现的呢?工具使用临时文件来模拟管道。并发并不是必要的。
它可由程序链来模拟。但最终的结果是一样的,用户最终得到与UNIX工具模式一样的结果。
VOS环境非常成功,至今我们还在用。VOS将UNIX的许多好的想法或思想带到了其它的操作
系统中。很多厂商都将VOS的一部分集成到他们自己的操作系统中。原始的VOS的源码是公
开的。

伯克利(Berkeley)

从很早以来加州大学伯克利分校计算机科学系(又称"伯克利"或"伯斯克利")就和UNIX打交
道。他们的许多工作就被发布到许多其他单位。1979间Ken曾在伯克利教授操作系统。在
他逗留期间他将UNIX移植到了PDP-11/70上,这是一台可以支持多用户的机器。他的演讲
和工作促使了许多学生参加到UNIX的开发中。

在同一时期,DARPA(DoD's Advanced Research Projects Agency)正在为进行AI,VLSI和
计算机视觉的研究寻找一个通用的计算环境,减少经费和方便开发当然也是追求目标。
UNIX的小巧灵活和业已证明的可移植性使其成为一个不错的候选对象。美中不足的是她缺
少网络、虚存和灵活的进程间通信机制。UNIX的主要竞争对手是VMS,她是由DEC公司为其
VAX系列开发的。VAX被认为是无可挑剔的,它是首款超级小型机,它提供对VMS虚存的支
持。

PDP-11系列在学术界是极受推崇的,许多人对DEC非常满意。然而VMS有不少缺点。DARPA
及其关注DEC公司是否能为他们提出的改动负责。毕竟那是个专用系统。最后他们选中了
UNIX。

DARPA寻求某个单位为进行他们的UNIX开发计划。除了伯克利,CMU(卡耐基梅隆大学)和
BBN公司也是重点考虑的对象。那时伯克利的Bill Joy已在为支持VAX上的换页机制而修改
核心了。伯克利最终成为主要的实现单位,同时贝尔实验室,CMU,MIT,Stanford和BBN
的代表组成DARPA指导委员会统观整个开发计划。这些机构的工作对伯克利的UNIX设计是
非常之重要的。

贝尔实验室答应伯克利,如果客户有从贝尔实验室得到的源码许可证,伯克利就可向他们
分布伯克利的源码。也就是说,如果你想获得伯克利的发布,你必须从贝尔实验室获得相
应的源码许可证。由于贝尔实验室有一大捆发布,为了获得相应的伯克利发布许可证不得
不更换好几次。

起先,伯克利并不重写UNIX,他们仅在一个称为32V的版本上做些功能的改动和增强。32V
是32位VAX上的UNIX。移植工作是有贝尔实验室的研究人员完成的。为简单起见,他们只
把VAX当作一台大的PDP-11来看,忽略了被称为"虚存"的机制。伯克利的研究人员不久就将
虚存加入到UNIX中,该系统称为3BSD(和1980年的4BSD)。VAX可以使程序访问多达1Gb的地
址空间,而物理存储才仅1Mb。

虚存对用户来说是无法抗拒。由于32V不支持虚存,贝尔实验室外的用户均采用伯克利的
UNIX。凭借这一系统伯克利的扩充广为人知,且被认为是UNIX的一个里程碑。特别值得一
提的是,C Shell,curses,termcap,vi和作业控制又被Version 7(以及后来的System
III)融入,现在在非纯贝尔实验室的发布中不难找到这些功能。这些程序被称为伯克利
扩充,如"我们的系统运行System III外加伯克利扩充。"更新一些的伯克利扩充(来自
4.2BSD)包括网络(DARPA Internet)支持和自动核心配置。

伯克利向UNIX中加入了许多很有用的东西,但有一件他们不可能完成的是提供支持。大学
并不想步入商界并向客户提供支持。这毕竟只是一个研究性项目(由纳税人的钱提供基金)。
向Dennis的友善的rk05s标注一样,早期的伯克利磁带也有Bill Joy的一句提示:"这是一
盒装满了二进制位的磁带,"暗示不提供任何担保并且所以的抱怨将被定向到/dev/null。
可事实上,伯克利的研究人员对修改Bug相当负责。他们通过电子邮件来维护一个Bug清单。
他们修改了无数Bug并将其他人的修改也融入了他们的代码。最后成立了一家公司来通过
对伯克利发布的支持,她称为Mt. Xinu。他们的口号是,"We know UNIX forwards and
backwards",它就是公司名称的来历,"UNIX(tm)"倒过来就是"Xt. Xinu。"

尽管不同的BSD版本有着明显的差异,但他们的软件发行一直被称为"4.x BSD"。如果不是
大学当局强制要求向所以"客户"重新发放许可证,BSD一定会重新标注4.2为5.0的。但既然
如此,BSD的代码包括了新版的AT&T的软件,BSD就不得不这样做了。

尽管AT&T最新的几个版本有明显的变化,但AT&T似乎也一直沿用"System V"。AT&T大概花
了太多的钱来说:"UNIX System V。从AT&T开始,从现在开始,把她当作标准吧。"换个
名字似乎是没有意义的事。AT&T将推出她的新的"主打"版本(即UNIX System V Release
4.0)。
pi1ot 2003-12-11
  • 打赏
  • 举报
回复
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)。

1.3 思想

今天与UNIX相关的特地从那之后就大部分全有了。我们已谈过了她的可移植性。其它的
值得吹吹的特点有:1)一致的文件,设备和进程间I/O,2)启动异步进程的能力,3)用
其它Shell来替代默认Shell的能力,和4)层次化的文件系统。

还有些特点一样使UNIX流行,下述特点被普遍认为是绝对不容争辩的。使人惊讶的是,
70年代的许多系统并不是没有这些特点,但80年代的许多系统却抛弃了这些特点(诸如
IBM的CMS系统的flat文件系统)。

值得一提的特点是:

1) 命令和库的一致性。这使得堆积木的方法变得非常容易。因为程序员必须假设自己
的程序的输出是其它程序的输入,他们不能输出太多的空话,诸如其它系统工具中输出
的"麻点"。UNIX中大多数程序使用标准的输入和输出。

库和系统调用都似乎都提供一种做事的方法,即用最简单的方法去解决大多数问题。
这种方法一直在核心的构造中持续,UNIX的核心小得一个程序员就可以理解整个核心。

2) 主要的文件类型是文本。例如,/etc/passwd可以用一般的文本编辑器来编辑。在大
部分其它的系统上你不得不用一个特殊的工具来读写这些文件。而在UNIX中,你有了编
辑器你就可以控制每一样东西。

3) Shell可用来编程,它有着丰富的控制结构和参数传递机制。许多人不须为学C语言
而费心,因为Shell和已有的程序可以很容易的组合起来完成相同的功能。有趣的是Shell
的控制结构(如goto,test)其实都是用独立的程序来实现的。

第六版的手册还不到300页,而且装成一卷正合适。sh的说明有三页长。
到1978底已有600多个UNIX安装。大部分是大学和政府机关。

1.4 1979 - 第七版

1979年UNIX的第七版发行了。Version 7包括了一个完整的K&R C编译器,它首次包括了
强制类型转换,联合和类型定义。系统还提供了一个更为复杂的Shell(称为"sh"或
"Bourne shell",取自它的作者之一,Stephen Bourne)。系统支持更大的文件。由于不
懈的努力移植的结果,核心更加鲁棒,系统有了更多的外设驱动程序。

第七版的程序员手册以达到了大约400页(仍然可以很合适地装在一卷里)。UNIX的其它
读物则成为了第二和第三卷,大约各有400页。

在贝尔实验室,John Reiser和Tom London将V7 UNIX移植到了VAX机上。这次移植称为
UNIX32V。在某种程度上,VAX是一个大一点的PDP-11,按这样的理解移植工作相对容易
些。为了让UNIX快速移植和跑得快点,VAX上的特殊硬件功能(换页)被忽略了。虽然如此,
由于VAX比PDP-11有了相当大的地址空间(4Gb),不带换页功能的UNIX仍旧在实验室里广
为流传,且用了好一段时间。伯克利也获得了该版本并作为进一步研究的基础。

Whitesmith是第一个商业C编译器供应商。不幸的是由于在许可证问题上不够明确,C编
译器的库函数不得不故意使用不兼容的函数名和参数规范。之后,C语言的用户接口
(函数名)被裁决为不能拥有版权,现在Whitesmith的C与UNIX兼容了。

1.5 Politcs - 第一部分

在UNIX诞生时AT&T是一个由许多与电讯有关的公司的集合,包括Bell Telephone
Laboratories(经常称为BTL,Bell,Bell Labs,或The Labs)和Western Electric Co.
(WECo)。由于一项早期的反托拉斯法案,AT&T被禁止参加未规范的领域的商业活动。尽
管她可以基于UNIX进行研究但她不能基于UNIX去做市场。事实上不容许进入计算机软件
领域尚不明确,但似乎如果它有利可图AT&T就和那个反托拉斯法案相冲突。不管怎样,
作为商品,UNIX似乎是一个误区。很自然,管理当局是不会资助开发一个非盈利产品的。
这就是70年代Ken和Dennis所面对的情况。

处于莫雷山(Murray Hill)的贝尔实验室是整个UNIX开发的地点,Dennis和Ken就在这工
作,他们并不关心产品开发。他们有许多新奇有趣的玩意要和他们的新Baby玩呢!然而
这一切太别扭了,UNIX在实验室里如此流行,但你不能把它向外部发布。此外,没人对
UNIX的支持负直接责任。根据Tannenbaum所述:

BTL didn't really have a distribution policy in the early days, you
got a disk with a note:
Here's your rk05,Love,Dennis
If UNIX crapped on your rk05,you'd write to Dennis for author.

最终贝尔实验室屈服与发布UNIX的压力。她制定了一个简单的许可证策略:没有支持,
没有试用期,没有担保,没有广告,没有bug修改,并且先付款。

然而大量的试用UNIX的人都在贝尔实验室内部。为了支持这些项目,一个称为USG(UNIX
Support Group)的UNIX支持小组创立了。不过还是很不幸,USG只容许提供支持,绝不
能开发。这样的情况造成了,不管在贝尔实验室内外用户都在做自己的开发。而随UNIX
一起获得的源码更刺激了这种情况。USG发行了几个UNIX,它们中的大部分都只限实验
室内部使用。

与此同时,PWB正在基于UNIX的另一个版本同时提供支持和开发。此外,PWB能够既向内
部和外部同时发布软件。不言自明,这两个小组之间是多么厌倦对方。她们都认为自己
做的事是对的,而对方做的是错的。例如,PWB的Shell与USG的不同。

另一个UNIX的版本称为MERT(Multi Envrionment Real-Time)。MERT与虚拟机的概念十
分相似。UNIX(甚或是她的特殊版本)可以在其上运行,并且还可使用MERT的实时工具。
在实验室外面许多许可证获得者都选择使用PWB/UNIX或Ken和Dennis的研究版本的UNIX,
而在实验室内部则使用USG的UNIX,MERT或两者都用。(事实上还有许多的版本。例如,
LSX是一个用在LSI-11微处理机上的UNIX版本。)UNIX的多样性很是惹人烦恼。

这时的许多UNIX许可证用户都在PDP-11上安装了UNIX版本中的一个或将其移植到其它硬
件上。对大多数程序员来说在UNIX上工作使他们比在其它系统上感到更满意。这是因为:

1) UNIX自带了完整的源码和文档。她自支持。你与UNIX的开发者有着十分一致的环境。
你可以自己修改UNIX。

2) UNIX很小。你可以理解代码。大多数的算法都很简单。你修改UNIX时对自己做了什
么很清楚。

3) 没有什么要避免的担保。既然系统没有支持你就不损失什么。最坏时你不过就是拿
出你的备份磁带。而最好时你能使系统更快或加一个新功能。

4) UNIX的手册很易读。它们只有几百页,而且把它们全读了并不困难。一个人就能完
全掌握它。

2,163

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 UNIX文化
社区管理员
  • UNIX文化社区
  • 文天大人
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧