|
4.2BSD
随着4.1BSD版本的发行,很多关于性能的疑虑被解决. DARPA非常满意合同的结果。以至于又同Berkeley 签定一份两年期的合同,而且这次的基金很多,大约是原来的5倍.
这部分资金一半用来资助 Unix 项目,剩下的分给计算机科学系的几个其他研究员. 合同要求,主要工作放在系统研究上,以便DARPA的研究人员可以很好地进行他们的工作。
由于 DARPA社区的要求 , 工作的目标定下来,并且开始限定对系统的修改. 特别是,新系统希望包含快速文件系统,可以适应提供的硬盘技术,。支持处理几个GB字节地址空间的要求,提供可靠的交互处理通讯机制,可以允许研究者在分布式系统下工作
, 并且集成网络支持,这样能够是运行新系统的机器都很容易连到ARPAnet.
为了帮助确定新系统, Duane Adams作为DARPA在 Berkeley合同的监督人,组成了“方向委员会” 协助指导设计工作,确保研究社区的要求得到满足.
这个委员会在1981年4月到1983年6月,共开了两次大会. 委员会包括 Bob Fabry, Bill Joy, 和 Berkeley的Sam
Leffler; Alan Nemeth 和Bolt的Rob Gurwitz
, Beranek, and Newman;贝尔实验室的 Dennis Ritchie ; Stanford大学的Keith
Lantz; Carnegie-Mellon 大学的Rick Rashid ;麻城理工的 Bert Halstead ; Information
Sciences Institute的Dan Lynch; Duane Adams and Bob Baker of DARPA;
and 和加洲大学Los Angeles分校的Jerry Popek . 1984年初, 这些会议被由更多人参加的主题讨论会取代。
1981年7月,在新系统中建议包含特性的原始文档交给“方向委员会” 和其他不在Berkeley的人那里,引起了很长时间的讨论。这年夏天,,我成为CSRG
的成员 ,并且参与实现新的文件系统 。整个夏天, Joy一直集中设计进程间通讯机制的原型 。秋天, Sam Leffler
也作为全职人员加入CSRG ,同Bill Joy一起工作。
当Rob Gurwitz released在Berkeley发布早期的TCP/IP协议 , Joy 就把它集成到系统中并优化了其性能。在这项工作中,
Joy 和 Leffler 发现新系统不应该只针对DARPA的标准网络协议,还应该支持更多协议。因此, 他们重新设计了软件的内部结构,精炼了多个网络协议的接口
,以便这些网络协议可以同时使用。
随着内部结构重建的完成,和 TCP/IP 被集成到IPC 功能的原型中,还写了几个简单的程序,让本地用户可以存取远程资源。它们是熟知的
rcp, rsh, rlogin, 和 rwho 。它们是作为暂时性工具设计的,以至日后可以被其他更合理的工具替换 (所以在命令前加了一个
"r" ). 这个系统, 称为4.1a,处次发行是在1982年4月,且仅供本地用户使用 ,也没有期望它广泛使用
, 不过它却加速人们对4.2 版本的渴望。
系统 4.1a 在它完成之前早就作废。但是,用户提供反馈有价值的信息,被用来建立一个修订计划"4.2BSD 系统使用手册."
这份文档在1982年2月发行 ,其中包含 将在4.2BSD中实现的为系统调用功能提供的接口的简要描述。
4.1a开发的同时 , 我完成了新文件系统 。在1982年6月,我把它完整地集成到4.1a 的内核中 。新系统称为 4.1b,只运行在Berkeley中选定的几台用于开发的机器上。
Joy感觉避免本地发行,那样的话会对系统有较大的改动 ,它要求每台机器的文件系统被转存和备份,并完成4.1a 到, p 4.1b的转换。一旦证明文件系统稳定,
Leffler着手进行增加有与新的文件系统有关的系统调用,而 Joy 主要完成交互通讯机制的修订。
1982年暮春,Joy 宣布他将叁加Sun公司。夏天过后,他将工作分开,一部分时间为Sun工作,另一部分时间为 Berkeley
工作,他花费大量时间对交互通讯机制进行修订,而且重新组织 Unix 核心来减小对机器的依赖问题。 Joy 的离开, Leffler
接管整个项目的开发工作。 开发的最后截止期限已经被确定,而且Berkeley 已经答应 DARPA 社区1983年春天完成发行版本。
由于时间紧迫,对剩余的工作进行了完成评估,而且而且设置优先级别。 特别地,增强交互通讯机制和虚拟内存中最复杂的部份都降低优先级
( 后来完全被搁置) 。同时,由于Unix 社区的期望高涨, Berkeley决定在最终版本发行之前,需要分布一个过渡版本。
这个系统,称为 4.1c,在四月 1983 年四月发布; 许多厂商准备用发布 4.2版本移植 到他们的硬件上。 从4.1c版本开始,Berkeley雇用Pauline
Schwartz 管理发行工作 。
1983年6月, Bob Fabry把 CSRG 管理权交给Domenico Ferrari 和Susan Grahamturned,并开始度假,以解放他4年来紧张的生活。
Leffler 继续完成系统,实现新的信号机制, 增加了网络支持功能,再做了单独的输入/输出系统以简化安装程序,整合来自Robert
Elz 的磁盘配额,更新所有的文档, 和追踪来自 4.1c 版本的臭虫。 在1983年八月 ,系统4.2BSD发布 。
当4.2BSD发布不久, Leffler 离开 Berkeley 去了 Lucasfilm ,他的职务被Mike Karels
取代。 Karels早期发行2.9BSD PDP的经验,给他的新工作提供理想的背景。 在我完成 Ph.D 学位之后, 在1984
年十二月 ,我作为全职工作人员叁加了 CSRG,同 Karels一起工作 。
4.2BSD的名声是给人深刻印象的;在发行的十八个月内,签发 1000多分站点许可 。 随后,又发行大量 4.2BSD 的发行版,可以说其数量超过以前发行版数量的总和。
大部份 Unix 厂商移植 4.2BSD 系统到他们的硬件上,并非 来自在AT&T的商业系统 五。因为系统 五,既没有网络也无
Berkley 快速文件系统。 BSD 版的Unix在商业 占优势的地位长达几年。因为后来的Unix 系统 也整合网络和其他的
4.2BSD版本的新功能,情况又回到最初的形式。 然而,后来的 BSD 开发成果仍被整和到系统 五 之中。
|