



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UNIX历史简介虽然UNIX的许多许多部分及其实现过程时创造性的,但是其中几个重要部分的思想都可以追随到早期的操作系统发展。UNIX系统的产生归结于AT&T的贝尔实验室的Ken Thompson。如果不是他心灵手巧,擅长摆弄当时身边那些触手可及的工具,UNIX是不可能写出来的。1968年Ken Thompson和贝尔实验室计算机研究小组的同事们一起进行MULTICS(MULTiplexed Information and Computing System)的研究工作,MULTICS是一个误入歧途但又辉煌灿烂的计算机系统,它提供非常复杂的功能同时却消耗大量的计算机资源,而且它太慢。尽管如此,几个可以工作的MULTICS还是完成了,提供了非常好的计算环境。系统提供分时服务,但它主要是面向批处理的,其环境笨拙且不友好。Ken和他的伙伴们(特别是Dennis Ritchie和Joseph Ossanna)不想放弃MULTICS提供的舒适环境,于是他们开始向AT&T的管理部门游说,希望能获得一个交互式平台,诸如DEC-10,并在其上建造他们自己的操作系统。DEC-10是DEC公司(美国数字设备公司)推出的一系列机种中的一种,该机有一个非常灵活的交互式分时系统。很不幸,DEC-10非常昂贵。人们应该庆幸,Ken的请求被拒绝了。这样的情形又发生了几次,这对Ken来说是太不幸了。由于MULTICS的失败,AT&T管理当局没有兴趣来投资并设计与MULTICS相似,只是在不同的硬件上的操作系统。与此同时,Ken对一个称为星际旅行的游戏非常有兴趣。该程序模拟太阳系的几个主要的星体和一艘可在不同地方着陆的飞船。Ken将其安装在贝尔实验室的GE系统上,GE系统忽快忽慢的响应时间使Ken大为失望。而且根据后来Demis的说法,在GE系统上运行一次该游戏需要75美元,太贵了。Ken和Demis后来找到了现在非常有名的被遗弃在角落里的PDP-7,他们用GE系统生成了可在该机器上运行的程序代码。有了星际旅行,Ken有了正当的理由去实现他曾在MULTICS计划中设计和模拟的理论上的文件系统。很自然,一台有用的机器需要的不仅仅是一个文件系统,Ken和他的朋友完成了第一个命令解释器(或She11)和一些简单的文件处理工具。开始时,他们用GE系统来为PDP-7进行交叉编译。很快,他们写好了汇编器,系统已经开始自支持了。这时的系统已经优点像UNIX了(如用fork来支持多任务)。其文件系统与现在的文件系统相对相似,有特殊的文件类型支持目录和设备,而且可同时支持两个用户。1970年,Brian Kernighan开玩笑称Ken的系统为UNICS,代表UNiplexed Information and Computing system,毕竟与Ken的系统相比,MULTICS过于庞大了。有些人称MULTICS代表Many Unnecessarily Large Tables In Core Simultaneously,而UNIX则是则是被裁剪了的MULTICS,不久,UNICS变成了UNIX而且被流传下来。计算机研究小组并不对PDP-7十分满意。一个原因是它是借来的一台机器,更主要的是因为它能力有限,不太可能提供计算服务。于是小组再次提交申请,这回是一台PDP-11/20,以便用来研究文字处理。该申请与前一次的显著区别是PDP-11/20的价格只是DEC-10的九牛一毛。由于这次申请十分具体一个文字处理系统,AT&T的管理当局宽宏大量地为他们购买了PDR11/20。1970年,UNIX被移植到PDP-11/20上。那可不是一件轻而易举的事,整个系统全是用汇编语言编写的!小组又将汇编语苦编写的roff又称为runoff,troff的前身从PDP-7移植到PDP-11/20上。roff再加上一个编辑器就足以称为一个文字处理系统了。与此同时,贝尔实验室的专利局正在寻找一个文字处理系统。他们选择了计算机研究小组的基于UNIX系统的PDP-11/20。贝尔实验室专利局成了UNIX的首家商业用户。这第一个系统有几点是很值得注意的。运行NIX的PDP-11/20没有存储保护,它仅一个.M的磁盘,并同时支持3个用户,分别完成编辑、排版,再加上计算机研究。小组进一步开发UNIX。该系统的手册被标为First Edition,日期为1971年11月。第2版于1972年发行,增添了管道的功能。该版本还加上了除汇编语言之外的编程语言的支持。特别值得一提的是Ken曾试图用NB语言来重写核心。NB是由B语言(由ken和Dennis设计)修改而来的。B语言的前身是BCPL,BCPL(BasicCPL)是Martin Richards于1967年在剑桥大学设计的。CPL(复合程序设计语言)则是1963年伦敦大学和剑桥大学的合作项目,而且CPL颇受Algol60(1960年设计)的设计思想影响二所有这些语言在控制结构上都和C语言相似,不过B和BCPL都是“无类型”的语言(尽管有点用词不当,它们只支持按字来访问内存。NB演化为C,而C则很快成为新的工具和应用的首选语言。参与MULTICS(MULTICS用PL/I书写)的经验告诉Ken和Dennis,用高级语言来写系统是合算的。由此,他们一直试图完成它。1973年,C语言加入了结构和全局变量。与此同时,ken和Dennis成功地用C重写了UNIX核心。She11也被重写了。这增加了系统的鲁棒性,也使编程和调试变得容易了很多。那时,大约有25个UNIX系统。在贝尔实验室内部成立了UNIX系统小组来进行内部维护工作。几家大学都和贝尔实验室签定协议,获得了第4版的拷贝。协议主要是不泄露源码,在那时还没有许可证这回事。Ken自己录制磁带,不收任何费用。第一卷磁带由位于纽约的哥伦比亚大学获得。1974年,Ken和Dennis在Communications of the ACM上发表了论文介绍UNIX系统。那时,commmications是计算机科学的主要刊物,那篇文章在学术界引起了广泛的兴趣。第5版正式以“仅用于教育目的”的方式向各大学提供,价格也够磁带和手册的费用。这时Ken和Demis仍在积极地投入UNIX的研究:,然而,他们继续避免提供支持的承诺。他们的小组被称为Research(在贝尔实验室内部称为1127),他们的机器被命名为Research。可以通过UUCP(一种在不同UNIX系统间传输数据的系统)向他们发送错误报告,打电话询问他们,甚至进他们的办公室和他们一起讨论UNIX的问题。通常他们总是能在其后的若干天内解决错误。与Resesearch在贝尔实验室的另一个小组被称为PWB(Programmers WorkBench)。由Rudd Canaday领导的PWB小组支持一个用于大型软件开发的UNIX版本。PWB试图向那些并不对UNIX研究感兴趣的用户提供服务。他们做了大量的工作来强化了UNIX的核,包括支持更多的用户。PWB两个非常有用的计划分别是SCCS源码控制系统和RJE(使用UNIX作为实验室其他主机的前端)。PWB最终登录为PWB/UNIX1.0。UNIX替代了越来越多的PDP-11上DEC公司的操作系统。尽管UNIX不被支持,但它的魅力远胜过它的问题,因而吸引了许多用户。除系统本身的许多优点外,源码是可以获得的,而且系统从整体上也是易于理解的,进行修改和扩充很容易。这使得UNIX与其同类的其他操作系统大不一样。1975年,第6版UNIX系统发行了。这是第一个在贝尔实验室外广为流传的UNIX系统。AT&T(通过West Electic Co.)开始向商业和政府用户提供许可证。Mike Lesk发行了他的可移植的C语言库。该库提供了可在任何支持C语言的机器上进行I/O的库例程。这是用C书写可移植代码的重要的一步。Dennis后来重写了该库并称其为标准I/O库(即所谓stdio)。UNIX用户们首次在纽约市进行会晤,由纽约城市大学的Mel Ferentz主持,当时有40人参加。从此以后该会议每两年举行一次,会议是非正式的。如果你想进行演讲,你就举手,并且演讲就行了。这些会议是极好的交流错误、报告和修改软件的方式。每个人都带上两卷磁带参加会议,一卷是给别人的,一卷是用来录制新东西的。Ferentz创办了一个称为UNIX News的时事通讯(newsletter)的服务,免费为用户发送消息。随着越来越多的人想要时事通讯的服务,Ferentz不堪免费提供这些服务,于是创立一个组织来处理这些费用,它被称为USENIX。USENIX很快负起了其他的义务,包括组织会议和软件的发布。远在澳大利亚的新南威尔士大学,John Lions正在为操作系统课程准备教程。课程的目的是UNIX实例研究,课程的笔记己被出版为A Commentary on the UNIX Operating System。笔记中包括加上了Lions注释的整个V6(第6版)UNIX核心的注释,基本上每一行都被解释了(包括那些被注明无需理解的代码行)。由于引用了大量的源码,该书的出版许可最终被撤回。但因其已经销售,因此UNIX比以往更易于获得。1977年,Interactive Systems公司被称为首家向最终用户出售UNK的公司。UNIX终于成了产品。在同一时期有3个小组将UNIX移植到不同的机器上。Steve Johnson和Dennis Ritchie将UNIX移植到一台Interdata 8/32机器上。澳大利亚Wollongong大学的Richard Miller和同事们将UNIX移植到一台Interdata7/31上。Tom Lyon和其在普林斯顿的助手们完成了到VM/370的移植。每次移植都干得十分漂亮。具体点,即所有这3台机器都与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问题就成了字节顺序问题的代名词。1.1.2伯克利软件发行版本BSD的出现1977年,加利福尼亚伯克利分校(the university of California,Berkeley)的计算机科学系开始发行他们的Pascal解释器。其中还包括了一些新的设备驱动程序、对核心的修改、ex编辑器和一个比V6的Shell更好用的Pascal Shell。这就是所谓的1BSD(1st Berkeley Sonware Distribution)。1979年Ken曾在伯克利教授操作系统。在逗留期间,他将UNIX移植到PDP-11/70上,这是一台可以支持多用户的机器。他的演讲和工作促使了许多学生参加到UNIX的开发中。在同一时期,DARPA(Dods 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因特网)支持和自动核心配置。伯克利向UNIX中加入了许多很有用的东西,但他们不可能完成的是提供支持。大学并不想步入商界并向客户提供支持,这毕竟只是一个研究性项目(由纳税人提供基金)。像Dennis的友善的rk05s标注一样,早期的伯克利磁带也有Bill Joy的一句提示:这是一盒装满了二进制位的磁带,暗示不提供任何担保并且所有的抱怨将被定向到/dev/null(空设备)。可事实上,伯克利的研究人员对修改错误相当负责。他们通过电子邮件来维护一个错误清单,修改了无数错误并将其他人的修改也融入了他们的代码,,后成立了一家公司来支持伯克利发布的版本,它被称为Mt.Xinu。他们的口号是“We know UNIX forwards and backwards”,这就是公司名称的来历,UNIXTM倒过来就是Mt.Xinu。lBSD具有多个版本。最早的版本是在PDP-11上的BSD1.0和BSD2.0,接下来的BSD3.0是在DEC公司的VME机器上开发的。BSD在VAX上的继续发展,形成了BSD4.0,BSD4.1,BSD4.2和BSD4.3。在BSD这些版本中,有许多机制和源代码都被引入到后来的UNIX商业版本中。许多对UNIX的增强和改进都是由BSD先做出来的。其它版本的UNIXUNIX从一开始就显示了强大的生命力和优越性,从而使得很多高校、科研机构和产业集团在UNIX的研究和开发上投入了巨大的人力、物力和财力。这些团体给UNIX的发展注入了巨大活力。,同时也由于开发机构过多引起了种种不协调,从而形成了多种UNIX版本和标准。除上述AT&T的NIX 版本和UCB的BSD UNIX版本外,还存在着许多UNIX的各种版本,例如Sun Microsystem的Sun OS,IBM的AIX(Advanced Interactive Executive)、HP公司的HP-UNIx和Santa Cruz公司的SCO UNIX等。源代码版本的UN l XUNIX的许多版本和类似UNIX的系统以免费或者极其低廉的价格出售,并且在发行的版本中包含了UNIX的源代码。这使得许多UNIX爱好者可以在自己的个人机器上安装UNIX,并且随心所所欲地对其进行修改。最早类似UNIX系统的操作系统是MINIX,由Andrew Tanenbaum设计和实现,其在多种硬件平台上都有相应的版本如PC、Amiga、Atari、Macintosh和SPARC工作站等。MINIX的最新版本可以从出版社获得。386BSD也是一个免费的UNIX版本,它的源代码是公开的。这主要归功于Bill和Lynne Jolitz。在Dobbs博士月刊上可以找到一系列描述386BSD的文章。另一个优秀的UNIX源码级版本是Linux,它是一个免费的软件包,可将普通PC变成UNIX工作站。它是一个相当标准的UNIX系统,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能源电池隔板加工制造项目施工方案
- 土石方工程设备使用与管理方案
- 超高纯电子级气体生产建设项目建设工程方案
- xx市城乡供水安全保障一体化项目技术方案
- 冷冻法施工组织设计
- 中心城区地下管网改造项目节能评估报告
- 2025年新生入学考核题库及答案
- 老旧供水管网改造工程节能评估报告
- 跨区域口腔医院医生聘用及人才培养协议
- 离婚二次起诉书:共同债务清偿与财产分割协议
- 2025年度2025年少先队知识测试题及答案
- 九一八警钟长鸣强国有我+课件-2025-2026学年高一上学期爱国主义主题班会教育+-
- 勇气与成长写物作文10篇范文
- 反洗钱可疑交易识别课件
- 人教部编版小学三年级语文上册课后习题参考答案
- 光伏运维安全培训总结课件
- 2025年第九届全国中小学“学宪法、讲宪法”活动知识竞赛题库及答案
- 土石方运输居间合同范本土石方运输居间合同格式-仅供参考8篇
- 2025-2026学年人教版(PEP)三年级上册英语教学计划(三篇)
- 室外消火栓埋地施工方案
- 真人秀节目策划与执行方案
评论
0/150
提交评论