首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>资讯动态>正文

回顾UNIX操作系统的二十年发展历史

http://www.oklinux.cn  2007-08-22  赛迪网 kit  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn


  1981年7月,在新系统中建议包含特性的原始文档交给“筹划指导委员会”和其他不在Berkeley的人那里,引起了很长时间的讨论。这年夏天,我成为 CSRG的成员,并且参与实现新的文件系统。整个夏天,Joy一直集中设计进程间通讯机制的原型。1981年秋,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 到 4.1b的转换。在证实新的文件系统能够稳定运行之后,Leffler立即着手进行增加有与新的文件系统有关的系统调用的工作,而Joy主要完成交互通讯机制的修订。

  1982年暮春,Joy宣布他将参加Sun公司。夏天过后,他将工作分开,一部分时间为Sun工作,另一部分时间为 Berkeley工作,他花费大量时间对交互通讯机制进行修订,而且重新组织Unix核心以减小对机器的依赖问题。Joy离开后,Leffler接管整个项目的开发工作。开发的最后截止期限已经被确定,而且Berkeley已经答应DARPA团队1983年春天完成发行版本。由于时间紧迫,对剩余的工作进行了完成评估,而且而且设置优先级别。特别地,增强交互通讯机制和虚拟内存中最复杂的部份都降低优先级(后来完全被搁置)。同时,由于Unix团体的期望高涨,Berkeley认为在最终版本发行之前,有必要分布一个过渡版本。这个系统被称为4.1c,于1983年4月发布;许多厂商准备将4.2BSD移植到他们的硬件上。从4.1c版本开始,Pauline Schwartz被雇来管理发行工作。

  1983年6月,Bob Fabry把CSRG管理权交给Domenico Ferrari和Susan Grahamturned,并开始度假,以解放他4年来疯狂的生活节奏。Leffler继续完成系统,实现新的信号机制,增加了网络支持,重做了单独的输入/输出系统以简化安装程序,整合来自Robert Elz的磁盘配额机制,更新所有的文档,修复了自4.1c版以来的bug。在1983年8月,4.2BSD发布。

  当4.2BSD发布不久,Leffler离开Berkeley去了Lucasfilm,他的职务被Mike Karels取代。Karels早期发行2.9BSD PDP的经验,给他的新工作提供理想的背景。在我完成博士学位之后,1984年12月,我作为全职工作人员参加了CSRG,同Karels一起工作。

  4.2BSD的流行让人印象深刻。在发行的18个月内,签发了1000多份站点许可。随后,又发行大量4.2BSD的发行版,可以说其数量超过以前发行版数量的总和。大部份Unix厂商移植4.2BSD系统到他们的硬件上,而不是移植AT&T的商用System V。因为System V既没有网络也没有Berkley快速文件系统。BSD版的Unix在商用领域占优势的地位长达几年。4.2BSD的改进逐渐被集成到System V中,厂商逐渐又转而移植System V,不过,后来的BSD开发成果仍然继续被System V引进。

  4.3BSD 

  4.1BSD发行不久,很快招致多方面批评。大部份人抱怨系统运行太慢。这个问题 并不令人惊讶,因为新的功能还没有被优化,许多内核中的数据结构和新的功能不能协调工作。Karels和我的第一年完全花费优化系统上。

  在花费二年时间调整系统和精炼网络代码之后, 我们如预期的1985年夏天,6月在Usenix会议上宣布了发布4.3BSD的消息。然而我们的发行计划被BBN突然中止。他们及时地指出我们从未用他们的最终网络代码修改4.2BSD,相反,我们仍然在使用他们早先给我们的初始模型,这个模型其后经过了大量的修改。他们向DARPA抱怨,预想的情况应该是Berkeley实现接口,BBN实现协议。因此Berkeley应该在4.3BSD中用BBN设计的TCP/IP代码。

  Mike Karels得到了BBN的代码,而且做了自从代码被传递到Berkeley以后的工作进行了评估。他决定最好的计划是把BBN代码的优秀思想结合到 Berkeley代码基础中,但是不要替换Berkeley代码。理由有Berkeley代码已经在4.2BSD中广泛地测试和进行了很大改进。然而,折中处理,他提出两者都包括在4.3BSD的发行版本中,让用户在内核挑选使用那种代码。

  检讨Mike Karels的决定之后,DARPA确定发行二个代码基础,那会导致不必要的互操作问题,决定只发布一套代码。为了要决定使用哪中代码作为基础,他们把两者都给Ballistics研究实验室Mike Muuse,作为第三方评估者。在一月评估之后,报告Berkeley代码更有效率,而BBN代码处理阻塞比较好。更重要的一点,Berkeley 代码在各种测试中都能很好地通过,BBN代码在高负荷条件下会菪机。DARPA最后决定,4.3BSD应该使用Berkeley代码基矗

  修改一新的4.3BSD最后在1986年6月发布。就向预期的一样,它平息了多数用户的抱怨,就像4.1BSD平息了多数用户对4BSD的抱怨一样。虽然大部份厂商已经开始转向System V,但是4.3BSD的大部份成果还是集成到他们的系统之内,特别是网络子系统。

  在1986 年10月,Keith Bostic参加了CSRG。他的任务是完成在他的早先工作之上一个项目,要把4.3BSD移植到PDP-11。虽然Karels和我都认为它不太可能,在VAX编译成250 Kbytes的系统,并且能满足PDP-11的64 KB的地址空间的要求。但是,我们还是同意Bostic 可以实现他的这有设想。令我们吃惊的是,移植非常成功,他在PDP-11上使用一组复杂的叠加集合和附加处理。其结果是2.11BSD的发布。该系统由 Casey Leedom和Bostic完成,在1998年仍然在一些PDP-11远行这个系统。

  同时,显然易见VAX体系已经达成生命的晚年,是该开始考虑在其他的机器上运行流行的BSD时候了。Computer Consoles公司这时制造了一种叫做Power 6/32的新体系的计算机。不幸的是,当公司决定改变它的策略方向的时候,该体系不被支持。然而,他们确实为CSRG提供了能够完成我们工作的一些机器。于是Bill Joy开始,从整个BSD内核中分离依赖机器的那部分代码。这个工作的结果是,1988年6月发布4.3BSD-Tahoe。Tahoe来自 Computer Consoles开发过程中所有的一个名字,他们原本打算将它用于Power 6/32机器上。虽然Power 6/32 机器生命周期很短,但它对BSD向其他机器移植,分离内核代码工作有宝贵的价值。

  
共3页: 上一页 [1] 2 [3] 下一页

上一篇:在Linux操作系统下一些不常用的进程信息   下一篇:Linux下VPN服务器的配置方法介绍

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·openSUSE项目“扩容” 改进Build Service
·LinuxWorld China 2007九月召开 主推开源
·Linux用户数量翻番Ubuntu最受欢迎
·微软、Google并起与开源Apache争雄
·微软允许Vista在Linux上虚拟运行
·Linux与Windows系统在十三个方面的大对决
·Ubuntu创始人:微软非Linux威胁 敌对将结束
·企业使用Ubuntu Linux系统的优势
·借助Novell全新管理解决方案改进数据中心
·基于Linux的Oracle数据库11g今天正式上市
·IBM与Novell合作 应对日益增长的开源需求
·体系架构是不是桌面Linux操作系统的弱点
·桌面Linux系统排名:Ubuntu冠军SUSE第二
·开源Eclipse利用Ajax的优势与微软展开竞争
·Ubuntu开源新版Gutsy Gibbon即将面世
·Linux的安全性赢得了用户的信任
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Chrome赢得Tom’s Hardware Award
·Google将在2011年发行Chrome OS商业版
·Chrome插件数紧逼Firefox
·Chrome OS死对头宣布将转投Chrome阵营
·今年的Ubuntu开发者峰会将在布鲁塞尔举
·Chrome开发版Bug杀死自家离线GMail
·Chrome OS是非常坚固的系统
·ReMail iPhone应用宣布开源
·谈Android等开放平台的应用软件生态
·Chrome OS体验无与伦比
·谷歌Wave服务新增收件箱更新邮件提醒功
·Ubuntu 10.10开发日程确定
  阅读排行
·CxImage图像处理类库
·Linux的GRUB引导程序配置方法大全
·Fedora 9官方正式发布(官方下载地址)
·从Grub命令行启动系统
·Linux 操作员基础教程
·支持谷歌Android系统音悦汇T11试用评测
·开源ERP市场的“一匹黑马”
·Compiz Fusion 0.7.2已发布可下载
·red hat的历史和当前开放源代码的发展
·iptable 基本配置方法
·firefox插件安装方法
· Sun设限ZFS Linux开发者犯难
·Linux通配符
·使用X-WIN32 EXCEED等软件显示远程LINU
·新手从零开始:Linux系统命令的使用
网摘收藏: