用户 第二部分

对于我来说,整个Unix故事最让人着迷的部分,是它快速传播到加拿大,欧洲,澳大利亚和日本。因为一一追溯会变得非常乏味,我会选择几个国家让真正的亲历者给我们讲述那时的故事。我之前曾提到过这几位用户,不过现在你可以到到他们自己的声音。

第一位是皇后玛莉学院(QMC,现在是玛莉女王和韦斯特菲尔德学院)的George Coulouris教授。我们他QMC是如何在1973年晚期得到第4版Unix的。

William Newman曾经在1971年10月来我们实验室做了差不多一年的访问学者(然后他去了Xerox PARC,现在他在剑桥的Rank Xerox EuroPARC)。我们曾在它的指导下发现交互微机系统的价值。他和Mike在QMC合作开发了一个单用户交互操作系统(名字是MIFS)。MIFS运行在一个Interdata计算机上并且在TENEX上完成早期开发。它被用来支持两个研究项目,一个是审查William的设计的图形编程语言,另一个是审查我们一个小组使用微程序仿真设计的的新机器架构。和Unix类似,MIFS包含了很多组件和工具——一个文件系统个,一个系统编程语言,一个编译器,一个行编辑器(可以单字符交互),一个调试器,等等。几乎所有这些都是由William和Mike开发的。

当我们开发MIFS的时候我们还没有听说过Unix,但是当William还和我们在一起的时候,他去访问了贝尔实验室。当他回来,他说“他们在莫里山开发了一个和MIFS差不多的东西,但是它多用户并且泡在PDP-11上面”。Mike Cole得到了一些文档,然后开始研究它们,推断它将会给我们带来很大的帮助——它提供了如此多对MIFS有用的工具,有了这些我们会在它的基础上做的更好。

我们没有9路驱动,只有一个DEC纸带和一个系统工业10M可交换驱动。真正的问题是Ken没有一个SI控制器的驱动(世界上没人有)。显然我们不能在Unix上开发一个DEC纸带的驱动,因为外围设备的数据交换会让系统慢的可怕。Mike Cole使我们系统的老大,最后也是他解决了这个问题。他在73年夏天用几个月访问了Xerox PARC(那时William Newman就在那,Mike去和他一起工作),在那里他将从Ken那里拿来的第4版纸带放到DEC纸带驱动器上。在PARC的时候他去了Bezerkeley,为SI控制器写了一个简单的驱动,然后将它编译到内核里。但是Bezerkeley没有SI磁盘,因此他在那里不能测试程序!当他回到QMC时将DEC纸挂载上去,直接就运行成功了!Mike是一个非常棒的程序员。

我们打算运行Unix,却冒失的买了一个磁盘和贝尔实验室的系统不兼容的机器。Mike从来没有写过C程序,没有用过Unix,更没有写过Unix驱动,但是他写的磁盘驱动第一次就运行成功了,这真让人惊奇。

Mike Cole补充说:

George的描述非常正确,但是有一些观点显然夸张了我的编程技能。我的记忆有些不太清楚,但是我想接下来的故事应该是发生在73年夏天。

在我去West Cost的路上并没有从贝尔实验室拿到纸带。而是在PARC的时候我在伯克利Mike Stonebraker的小组花了几个下午并且从它们那里得到了一份Unix的拷和文档(也得到了必要的AT&T分配)。然后我开始学习足够的C语言去写SI磁盘的额驱动,并且使用它们的带有LA30 DEC刻盘器的11/45构建了一个系统(一段痛苦的经历)。我记忆里他们那时正在痛苦的开发Ingres。

因为系统要运行起来的希求非常紧急,我返回QMC的时候决定停止贝尔实验室的工作去英国。10月Ken Thompson检查了我的代码,发现一两个bug(使用C语言的指针几乎总会出错)。我们将整个Unix软件放在7,8个DEC纸带上。然后Unix就转载PanAm袋子里第一次来到了英国。

建立了UK的第一个工作站,我记得我曾在74年同时被爱丁堡和剑桥邀请去介绍我们做的这个奇怪的叫做Unix的系统。我被消极的回应所打击到了,特别是剑桥的Neil Wiseman和Charles Lang表示不会考虑接受这种没有供应商支持的系统(我记得那时他们在用RSX-11)。这就是早期传教士的失望。

不久之后,Nigel Martin成为QMC的学生,城市大学的Sunil Das得到西部电气的一个授权,不需要再等新泽西购买到英国:Sunil从Nigle那里得到一个第5版Unix。

在那段时间,多伦多大学得到了一份Unix。在详细讲述这段历史之前,很有必要了解加拿大和Unix的紧密联系。Brian Kernighan是一个还在多伦多上学的学生,Al Aho也在那里得到了他的学位。Heinz Lycklama在安大略汉密尔顿的麦克马斯特大学接受教育。Morven Gentleman去麦吉尔(蒙特利尔)并且在滑铁卢(安大略)学院呆了了15年。Tom Duff是滑铁卢的肄业生,去加入了多伦多大学的Rob Pike,David Tilbrook,Howard Trickey,以及Mike Tilson。Tom Cargill在滑铁卢拿到了博士学位。还有许多其他人可以提到(甚至我也作为多伦多大学的职员长达11年)。

1974年中期多伦多大学购买了一台PDP-11/45,运行第5版Unix。11月1日,它收到了第6版的授权。其他大学就没这么多的耐心,Tom Duff告诉我:

1974年的滑铁卢大学。Steve Johnson正在学术休假(我就是在那个时候退学的),他从一个实验室打电话到Unix机器。一些人通过他的肩膀偷看到了号码,然后拨通号码窃取了系统的源代码。

Doug McIlroy告诉我那个传说有些地方是错误的:是他的在实验室的电话号码被偷了。“我在滑铁卢打电话,Unix的电话号码显示在学生计算机俱乐部的账单上。那时学院发现并且绝望的给我打电话,我们和他们的代码被弄得一团糟”。

下一年,Duff成为多伦多的毕业生(Rob Pike是1975年的暑期实习生,Dave Galloway是1976年的实习生)。Duff说:

9月我们收到了11/45,12月开始运行第5版Unix。我记得75年早期它开始运行第6版。我在第6版附带的split I&D出现之前开始做我的论文。Mike Tilson,Bill Reeves和我是冷加载第5版纸带的成员。

我们遇到一些问题会打电话给Ken寻求帮助,他显然接到了非常多这类电话。大概20台第5版工作站远远多于他之前的发行版数量。mkfs命令指出了如何在有4000个存储块的RK05上构建根文件系统,并且留下872个存储快作为交换空间。Bill在我们的第二个RK上输入同样的命令来制作文件系统,他觉得不值得为了浪费的一小点字节而去翻看RK05的文档找出存储空间的准确大小。仅仅一周后我们就遇到了麻烦,我花了几个小时阅读check命令-s的代码找出我该如何在超级存储块上打补丁来修正文件系统,然后运行check -s更正了这些存储块。

Duff也遇到了问题,他使用部门的Xeror机器来创作yacc手册,着这些天里官僚一直索要复制的权利。

Mike Tilson改进了Duff的版本。

第一个系统运行在PDP-11/40上面,那是我们等待交付11/45时候的一台过渡机器。我相信我们能验证Unix可以使用仅仅64KB的内存启动。那个纸带我Ken个人制作的,他在贝尔实验室将它给了我(然后,就像现在,AT&T运送的很慢。但不像现在的是,你可以绕过书面工作而自己直接去取纸带)。

11/40有一个GT-40显示器:它的驱动是多伦多大学的第一批自定义修改。

1977年11月1日那天多伦多收到了一个图像排版机的授权。我将在不久之后返回多伦多。现在,让我们一起去欧洲看看。

Teus Hagen在荷兰关于Unix的故事开始于第10章。Hagen相信“Unix中的技术(字符串表达式,yacc,行处理编辑器,文字处理,awd,字节流思想,管道)在早年将欧洲的计算机科学推进了一大步,在短短几个月的时间内欧洲的技术水平大幅提高”。他同时也对我说:

我想我们和伦敦的皇后玛莉学院同时从实验室得到了Unix,这比其他人得到第6版早了一年的时间。我现在仍然保留着最初的手册。

接下来是奈梅亨大学的Hendrik Jan Thomassen,他在经历无数讨论后安装了Unix。第三个收到Unix的是自由大学的Andy Tanenbaum(Andy那时正在忙着做他自己的操作系统)。

那时我们的问题之一是计算机设备高昂的价格:一个磁带就要花费4.5万美元,一个驱动器(DEC RM05)的价格是5.5万美元(又一次我们中有一个人试图围着机房飞)。

我和DEC的维护者有麻烦,他们需要RSX或者VMS才能运行,也不能修复我们的硬件问题。不论如何,我们的错误信息要比Unix上的要好很多,我们最后还是可以说服他们。但你怎么在一个有瑕疵的计算机系统上安装VMS或者RSX?

Hagen不是唯一在DEC方面有麻烦的人,Lou Katz告诉我:“基本上,DEC的维修人员会运行它们自己的怎断程序并且说是我们的软件有问题,因为他们的怎么程序没有找到任何问题。特别是事实证明DEC的怎断程序没有测试PDP-11的监管模式,但是Unix需要这个”。Armando Stettner说:“有许多Unix在PDP-11s上做的事情,不管是DEC的操作系统还是诊断程序都没有测试过”。

DEC不相信所有的东西都是C语言写的(C是什么鬼?),并且只有500页的代码。如果你想的话可以随意修改源码。与之形成对比的是DEC堆积的手册和论文堆起来就要和机房差不多高了。

最初,我们有一台PDP-11/45(带有核心内存,一个很棒的加热器),但是只有一个1.5Mb大的RK05磁盘驱动器作为数据交换接口。我们不确定公共交通工具会对磁盘上的磁场会有什么影响(在阿姆斯特丹有很多有轨电车),所以我们我们没有去冒险从数学中心走到自由大学(大约7英里远)。后来我们有了更多的信心,在电车上可以很容易认出Unix的相关人员,他们在车上都会抱着装有RK05的大箱子。

欧洲的第一个Unix网络是Hagen组建的,它后来成为正式的欧洲Unix用户组。在欧洲建立一个网络并不像美国的UUCP和ARPANET那么容易。他说:

拨号器和调制解调器在欧洲不被PTTs许可,因此我们在建立Unix网络的时候有非常的问题,PTT的家伙们丝毫想象不到UUCP的功能和作用(我们是说不同语言的两个物种)。于是我们将一个办公用的桌面半自动拨号器放进一个盒子里,盒子是从110/300波特率的调制解调器上拆下来的。一个小公司组装了很多那种盒子,并且将它们作为无线扩音器在边境走私售卖。我在DEC的好朋友Armando Stettner帮我建立了和美国的通讯连接(只有邮件,那时新闻还没有出现)。那时还没有压缩功能,我们因为缓慢的速度花费了不少的钱。这就是为什么如今欧洲有如此严格的网络计费系统。因为国际长途费在晚上会便宜很多,我们改为在夜间和美国建立通讯。一天早上我发现和美国连接的线路挂掉了:满屏的通讯报错和重试信息,电话已经接通了10小时。10个小时的美国长途电话是非常昂贵的,所以我被主管叫到了办公室(因为他是数学家,所以对这些事情不太了解,而且他也不想和计算机的家伙们打交道)。我惹上一堆的麻烦...

我们得到新闻是几年之后的事情了。我记得我发布在网上的第一篇帖子,因为美国的人们对我感到特别新奇,不断问我地狱是什么样的,我一小时又一小地在他们提问之前回复帖子!他们终于发现了美国以外的另一个世界。

(我向Teus询问关于Kremvax的事情)

那天是愚人节。我们从数学中心发表了一个帖子宣称克里姆林宫VAX在网络上发布,帖子的地址可以追踪到莫斯科。随着帖子在网络上散播,人们互相喊叫,我听说美国政府安全会议也这个消息惊动了,官方试图立即终止和欧洲的通讯线路。幸运的是接下来发现这个措施并没有执行,网络继续保持着无政府状态。

Kremvax真正的创造者是Piet Beertema,那条消息在1984年的4月1日发出。六年后,当demos.su介入USENET,Demos的资深程序员Vadim Antonov不得不努力说服人们那不是另一个恶作剧。Armando Stettner的故事和Hagen的有些不太一样,他告诉我:

我们在很多地方使用UUCP。但是我们没有做出NETNEWS。Teus和我在一个会议上讨论建立NETNEWS的主意。我说“看,做出NETNEWS连接大西洋有什么问题吗?是时候连接起来了。如果在你我的电脑上都安装compression,我就可以向你发送新闻了”。我不知道怎么开始的。但Teus后来给我发邮件说“复制这个东西到电脑上”,然后我们让它运行起来了...不久之后我开始通过Teus的机器和欧洲交换NETNEWS。成功了几个星期后,我通过Robert Elz的机器又将澳大利亚接入到网络。

在那时,Stettner的机器每个月要花掉25万美元的话费。DEC的一名会计师问他为什么仅仅四条电话线就花掉如此之多。“哦,那是我们的高级机器在交换数据”,Stettner说。

Settner向澳大利亚发送消息并没有听起来那么的奇怪。新南威尔士大学的John Lions读到1974年CACM的文章,那时新南威尔士大学正准备去买一台PDP-11/40,并且在年底从西部电子得到了一份授权。下面是Lion的叙述:

新南威尔士大学用一台运行KRONOS的CDC Cyber 72-26计算机替换了之前的1965-vintage IBM 360/50。新的网络使可以驱动100台打字机式(300波特率)交互终端和12台PDP-11/40计算机。当7台最小配置(16Kb内存)的PDP-11/40s买来后,5个系统安装了128Kb核心内存,每台机器都配有一个DJ11终端复用器和3个RK05磁盘位。

我们拷贝的Unix软件出乎意外的好。仅仅两个晚上的实验我们就被这个有趣的系统迷住了,很明显它比RSX-11D更加可靠。我们的问题变成“无法提供远程批处理服务的情况下,如何能像晚上一样全天都运行Unix?”。显然答案是写一个运行在Unix上面的U-200模拟器。一个由Ian Johnstone领导的4人小组接受了这个挑战,他们用了两个星期开发出一个系统原型。4周之后,RSX-11D就被替换下来,之后再也没有用过。

1974年Greg Rose毕业于新南威尔士大学,我和他聊起这段历史:

我是毫无经验的毕业生。那时大学处在一种很不稳定的状态,它成了一个IBM商店...360/50已经退役了,实际上它不再用于教学和科研,完全只用于管理——最后,他们也不想重写所有的PL/I程序。有个建议是使用网络,所以学校买了5台11/40s和7台11/10s。计算机网络在1975年投入使用,在1974年中期就有两篇有趣的论文发表出来:一个是关于Unix的,另一个关于pascal。于是John Lion离开并且拥有了Pascal,而Ken Robinson有了Unix。

教学是它们完成的工作之一。第二年需要汇编编程的可能,而PDP-11上正好有汇编器,因此我们的课程难以置信的可以在PDP系统上使用汇编器。我们不得帮助学生们学习和调试,这样我们就不能在机器上运行Unix了。Ian,Johnstone,Greg James,Ian Hayes,Peter Ivanov,还有John Wainwright决定在这些机器上运行Unix,他们不得不写一个U-200的设备驱动和模拟器,这样部门就可以在运行Unix的情况下继续使用RSX-11。但是必须有人来维护它确保它一直都可以正常工作。Ken Robinson说:“我们有两个不惧挑战的学生,就让他们去做吧”,于是我和Chirs Maltby被选中了。

我的第一个任务是为一个汇编课程写一个支持批处理程序,那时我还是一个学生!

在75年到76年Unix在大学里取得了巨大的成功。我们拥有11/70和11/45,管理学院也决定使用Unix。76年成立了伍伦贡大学。最初它是新南威尔士大学的一个分校,但后来分离出去了。那时Interdata几乎放弃机器,为了闯入市场,他们给伍伦贡大学一个难以拒绝的价格。我们常常参加这类信息会议,大概有10个人坐在一起喝咖啡。其中Rich Miller说“你知道我们拿到的这些计算机上装着可拍的操作系统。我们不明白为什么,由于Unix是用高级语言写的,我们不能让它工作”。

于是我们接下来几天都坐在一起,大多数时候我和Ian Johnstone讨论架构和该如何让编译器产生代码。Rich离开了一段时间(他是一个让人惊奇的家伙,我想他现在在牛津),等他回来的时候,他说“我想我们有了一个编译器”。因此他和Ian去跨平台编译了一个编译器,然后把它带回伍伦贡。我们带着9路纸带来回跑了4趟100公里的路程。当我们返回伍伦贡,因为他们在Interdata没有磁盘驱动器,我们会在一个Univac 11上读取然后写到可以在Iterdata上使用的磁盘包上。

但是我们犯过3个错误:一次是编译器,一次是操作系统的剪裁,最后一个是系统升级。因为我们最初安装的是第5版,后来得到礼物第6版,Rich说“好,给我一个最新的源码纸带”。

就在同时,Steve Johnson和Dennis正在做他们的移植。

这真的是一个不同寻常的工作,Johnson回忆说。Rich Miller在1977年2月澳大利亚的第二届Unix用户组会议上谈论起它。

在1976年3月出版的UNIX NEWS上,发表了一封标注日期为1975年10月10日的信件,是John Lions发给Mel Ferentz的。这封信的开头是:

我们最近看到你早期的两封UNIX简讯,因此没有更早的做贡献。不管真么说,我们感谢你的工作并希望它能够成功。

Lions在1976年1月21日再次向Ferentz写信宣布第一个“东海岸”Unix用户会议将于1976年8月29日在新南威尔士大学举行,并且告知用户纽卡斯尔大学和悉尼大学也加入到了Unix社区。

9月17日,Lions写信报告会议内容:“有30多个人来参加”。这次会议如此成功,大家确定下一次会议定在1977年2月18日。更重要的是:

考虑到Unix非同寻常的售后支持,大家一致同意Unix用户间需要合作。

1977年,John Lion完成了他的《UNIX操作系统注解》,用两卷书再现了第6版的源码。这两本薄书可能是最重要的未出版计算机图书。我问他关于源码和注解,他说:

我那时在教操作系统。我要和一个教编译器的同事竞争,他让学生去写一个真正的编译器。所以一个关于代码阅读的练习看起来是个好主意,并且我们的Unix授权没有明确禁止这项活动。为什么是Unix?因为那时没有什么选择,你知道它是非常杰出的,而且它比竞争对手要好很多(我们也得到了Brinch Hansen的SOLO系统)。

1977年《UNIX NEWS》(第2卷第3号)宣布了这本书,附有Ferentz的评论:Ken Thompson曾经看过这本书的第一版,反馈说这是非常好的工作。包含空运邮费的价格是17.7加元(不到20美元)。UKUUG通讯宣布了代码和注解,但是下一期声明应该向贝尔实验室预定,到了1978年这本书不再可用。在整个计算机科学界它们一定是最常被影印的图书。他们加上了恰当的版权声明并且约束授权,但还是没有成功,西部电气阻止了如此一本有价值的书流通。我承认我同时有影印版和复制版,它们有着明亮的橙色和红色封面,还有John给我提词。

Mike Cole问我是否确认Jim Curry第一次去欧洲带着Unix,将它安装在奥地利的IIASA。据我回忆William来到这里后不久Jim就离开了PARC。72,73年Jim在QMC访问我们,并且让我确信我们彻底疯了,我们要将新的教学系统构建在Unix上面。

Curry是国际应用系统和分析协会的成员,位于维也纳北部的拉克森堡。他是74年到78年计算机服务的负责人,他告诉我:

1975年1月我在PDP-11/45上安装了Unix第5版。据我所知,这是欧洲安装的第一个Unix。

1978年中期,我招聘Jim Kulp接管我计算机科学系主管的工作,从那以后直到1982年我都没有做太多计算机科学部门的事情。因此我对那段时间详细的记忆有些模糊。但我知道Jim在1979年早期购买了VAX/780。我不确定这是不是奥地利的第一台VAX,但是很明显它是第一个运行Unix的。Jim最初运行了一个非常早期的BSD系统——可能是3BSD,或者是4BSD的预发布版。

网络发展方面,IIASA在历史中并没有特殊的位置。我们早在1975年在几条点对点电信链路上无所事事(主要是和东欧),但是我们第一次真正使用互联网邮件是通过一条租用的2400波特率线路使用UUCP发给tuvie(维也纳技术大学)。我不记得确切的时间,但是发到tuvie的设备上后,我觉得那没什么意思。

IIASA的Herb Hasler说:“我相信IIASA在奥地利第一个拥有VAX的”。更重要的是,IIASA的Jim Kulp写了第一个版本的Unix任务控制,它包含在4.1BSD(1980年)。

又一次,远程用户的工作包含在一个主要发布版本。

John Lions和Mel Ferentz的来往信件表明,大多数的Unix设备远距离通信,都被计算机中心的支持者所看到——借助于《UNIX NEWS》和它成功的专栏《;login:》。比如,AT&T和西部电气的律师不愿掌握 他们可以或者不可以 公告导致的 哈佛科学中心的Lew Law将着手重新修订和发布Unix手册...1975年发布的第6版《UNIX编程手册》将全部重新修订。大多安装版本将会删除几页大多数用户不需要知道的部分。????????

《UNIX分时系统使用文档》第6版将删除第1章(设置UNIX)和第13章(UNIX安全)。

同一期杂志还包含了Bill Mayhew(来自波士顿儿童博物馆)的一篇文章,题目是“如何使用49美分解决PDP-11/40的静电问题”。下一期杂志(1976年5月至6月)宣布“第一个软件交换邮件”。Mike O'Brien第一个邮寄了软件纸带,哈佛软件的复制品,寄到了芝加哥的伊利诺斯大学。1976年8月《UNIX NEWS》刊载了Alan Nemeth的第一篇文章,讨论的是I&D的浮点数模拟问题。1976年11月出现了O'Brien发表的第二版软件公告:

我得到了贝尔实验室第6版的“diff列表”,总之我逐一标记了50多处修改,并将列表发送给了Ken请他验证和注释。这些修改可以通过发送特殊的请求得到...

第二版包含了来自RAND公司,海军研究院,圣地亚哥的加利福尼亚学院,Yale以及UIUC的贡献。《UNIX NEWS》也刊载了来自多伦多大学的一个图形软件公告。

第三版软件发行版在1977年5月至6月的期刊发布。这一期还包含了一条信息,超过150人参加了1977年5月的厄巴纳会议:

Mini-UNIX已经发布,LSI-UNIX和Mert可能会在稍后的时间发布。

记住:没有通知,没有支持。厄巴纳会议上出现了第一次编程竞赛,是由Steve Holmgren发起的。所有用户都不得不互相帮助。

所有用户中只能依靠自己的是东京大学的Haruhisa Ishida。“我是日本第一个得到Unix授权的人”,他对我说,“在1976年我和AT&T贝尔实验室签订了协议,那个Unix的版本是第6版,只经过很少的修改我就能在LSI-11上运行它”。LSI-11是DEC自己的基于微芯片的PDP-11模拟器,生产于1974年。最早的版本没有内存管理,但可以使用一个单独的芯片实现这个功能。恰巧东京大学购买了这个版本的LSI-11,并且Unix第6版没有内存管理就不能运行。

1980年,一个叫SRA独立软件公司派出Koichi购买了一台VAX,并且带着Bob Schulman去日本在它上面安装Unix。Schulman告诉我:

我在1980年的夏天去安装第一个32V,在VAX11/780上面安装BSD3.0。

他们购买VAX的原因当然是他们想要Unix。他们想要Unix的原因是Kishida,Kishida是一个到处旅行并爱好社交的家伙。他去欧洲和美国参加了很多会议。那个时候,他认识的每个研究人员都说自己正在使用Unix。所以他决定也去搞一个Unix。这样,他就可以和这些有名的研究院拥有同样的环境。我喜欢他的这个理由。

当我在1980年夏天到那里的时候,他们已经安装了780,但是没有用它做什么,因为他们需要32V纸带。一旦安装好了,如此巨大的投资需要一点神明的帮助,所以他们找来了道教长老,在机房举行了祈福仪式。在仪式上,到处撒了棕悯叶,长老说着古老的日本土语(可能没有人听得懂)。当然也提供了清酒,但是我不认为那台机器喝了它们。

由于从来都没有告诉过我的安全原因,安装只能在晚上进行。因此你晚上11:45以后开始工作,第二天早上6:00之前不能离开。这是一段令人沮丧的夜班。

我工作的一部分是向SRA教授“Unix的方式”。我需要试着解释“hacker”和“nerd”的关系。因为语言和文化的障碍(我的日语一直很烂),让他们最终明白所花费的时间比我之前预计的长了很多很多。“Hacker”对于他们来说是一个很有吸引力的感念。“Nerd”让他们很难理解,我认为他们从来没有感受到我试着描述的nerd的缺点。可能他们觉得一个偏执的呆子并不是一件坏事。

日本Unix社团(jus)是由Kouichi Kishida,Jun Murai,Nobuo Saito建立的。我会再回来继续说这个,但是现在我想回到1977年的USENIX《;login:》。那一期通讯向用户宣告了PWB的发布,用户可以向Ted Dolotta索要相关的论文。下一期(第2卷第9号)宣告“用户组的会员现在超过了250”。1977年11月的《;login:》包含了连个声明,一个是Joseph F. Ossanna的死讯,一个是即将发布的《C语言编程》。

1978年3月,Lew Law宣布4卷本PWD手册已经由哈佛科技中心出版(定价26.5美金)。接下来的8月,Ferentz使用《;login:》的整个首页版面宣布纯Unix信息的《贝尔系统杂志》特刊。

bug修复,硬件增强,新的软件,优雅的hack。这就是USENIX,AUUG,UKUUG所致力于奉献的。我最喜爱的贡献来自Tom Ferrin(来自旧金山的加利福尼亚大学),他用硬件改动解决了一个软件问题。他两页的信件(1977年9月9日),一些代码还有一张配图发表在《;login:》上:

PDP-11/45和PDP-11/70的内存管理单员比其他PDP-11机器提供几种高级的功能。这些强大的特性可以将程序分为指令段和数据段...

PDP-11的4个指令简化了程序在不同寻址模式下指令/数据内存区域的操作,这就是“移动到/从之前指令/数据内存空间”(mtpi,mfpi,mtpd,mfpd)...

因为DEC想要“保护私有程序的完整,“mfpi”指令在一个状态字等于17 的程序(例如当前和之前的模式都是USER)内执行时会出现问题,这实际上故意阻止了C语言子例程“nargs.s”的功能...

这个问题有几种解决方案...

4.修改硬件让它工作的更“正确”

在和DEC的销售代表打了几通电话和看了几个小时的微码后,我们找到了一个简单的修改方案可以让PDP-11/70的cpu允许“mfpi”指令正常运行。这个方案会花费有经验人员15分钟的时间,你需要剪断一个引脚并添加一个到M8138-YA内存管理电路板的跳线...

Tom Ferrin的图如下所示:


译者注

results matching ""

    No results matching ""