已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
B500主控制程序B5000MasterControlProgram,梁陈嵌入式系统设计2班SG13225097,2,BurroughsB5000计算机,TheBurroughsB5000computerhadstackinstructionsforeffcientexecutionofsequentialprogramswritteninAlgol60(Barton1961).ForthispurposetheB5000wastrulyarevolutionaryarchitecture.TheBurroughsgrouppublishedonlyahandfulofpapersabouttheB5000system,includingOperatingsystemfortheB5000.ClarkOliphint(1964),3,BurroughsB5000计算机,BurroughsB5000计算机采用堆栈架构可以使Algol60语言编写的顺序执行程序高效运作。从这一点讲B5000是真正意义上的革命性框架。但是Burroughs团队只公布了一半的B5000系统文件,包括B5000的操作系统ClarkOliphint(1964),4,BurroughsB5000计算机,美国的BurroughsB5000和英国电气公司1963年交付使用的KDF9是第一代实现了逆波兰架构的电子计算机。/brochure/images/manuals/b5000/descrip/descrip.html逆波兰表达式又叫做后缀表达式。逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出。a+b-a,b,+,5,BurroughsB5000计算机,它的优势在于只用两种简单操作,入栈和出栈就可以搞定任何普通表达式的运算。其运算方式如下:如果当前字符为变量或者为数字,则压栈,如果是运算符,则将栈顶两个元素弹出作相应运算,结果再入栈,最后当表达式扫描完后,栈里的就是结果。逆波兰表达式是一种十分有用的表达式,它将复杂表达式转换为可以依靠简单的操作得到计算结果的表达式。例如(a+b)*(c+d)转换为ab+cd+*,6,BurroughsB5000计算机,Admittedly,thisbriefpaperdoesnotdojusticetothesignicantaccomplishmentsofthispioneeringeffort.Organick(1973)andMcKeag(1976a)provideanabundanceofdetailedinformation.诚然,这样简要的文件并没有给这一意义重大的开创性成就以公平的对待。而Organick(1973)和McKeag(1976)提供了大量的详细信息。,7,BurroughsB5000计算机,BurroughsuseditsownvariantsofAlgoltoprogramtheB5000MasterControlProgram,whichsupportedbothmultiprogrammingandmultiprocessingofuserprograms.Burroughs用自己独有的Algol变量编写B5000主控制程序,这个主控程序支持多道程序设计和用户多进程处理。,8,BurroughsB5000计算机,ALGOL:第一个结构化程序设计语言,是计算机发展史上首批产生的高级程式语言家族。当时还是晶体管计算机流行的时代,由于ALGOL语句和普通语言表达式接近,更适于数值计算,所以ALGOL多用于科学计算机。Algol60引进了许多新的概念如:局部性概念、动态、递归、巴科斯-诺尔范式BNF(Backus-NaurForm)等等。Algol60是程序设计语言发展史上的一个里程碑,它标志着程序设计语言成为一门独立的科学学科,并为后来软件自动化及软件可靠性的发展奠定了基础。,9,BurroughsB5000计算机,Thesystemusedvirtualmemorywithautomatictransfersofdataandprogramsegmentsbetweenprimaryandsecondarystorage(MacKenzie1965).Atypicalsystemcouldrunontheorderof10userjobsatatime.Aboutonceaday,thrashingwouldoccur.Thiswasnotdetectedbythesystem.Theoperatorwasexpectedtonoticeanyseriousdegradationofperformanceandrestartthesystem(McKeag1976a).,10,BurroughsB5000计算机,系统通过虚拟内存实现数据段和代码段在一级与二级存储器之间的自动转换(MacKenzie1965)。一个典型的系统可以同时运行10个相似的用户任务。差不多每天发生一次抖动。而这并不是系统检测到的,只能期望操作员会发现任何严重的性能下降并重新启动系统(McKeag1976a)。,11,系统抖动,在请求分页存储管理中,从主存(DRAM)中刚刚换出(SwapOut)某一页面后(换出到Disk),根据请求马上又换入(SwapIn)该页,这种反复换出换入的现象,称为系统颠簸,也叫系统抖动。危害:系统时间消耗在低速的I/O上,大大降低系统效率。进程对当前换出页的每一次访问,与对RAM中页的访问相比,要慢几个数量级。,12,BurroughsB5000计算机,Unfortunatelytheprogramminglanguagesoftheearly1960sofferednosupportforconcurrentprogrammingofoperatingsystems.High-levellanguagesforconcurrentprogrammingwereonlyinventedinthe1970s.不幸的是20实际60年代初提出的编程语言并不支持操作系统的并发程序设计。支持并发编程的高级语言是在二十世纪70年代才发明的。,13,BurroughsB5000计算机,AtthetimetheonlyoptionopentoBurroughswastoadoptanextremelydangerousshort-cut:TheB5000operatingsystem(anditssuccessors)werewritteninextendedAlgolthatpermittedsystemsprogramstoaccessthewholememoryasanarrayof(unprotected)machinewords.ThisprogrammingtrickeffectivelyturnedextendedAlgolintoanassemblylanguagewithanalgorithmicnotation.Thedangersofusingsuchanimplementationlanguagewereveryreal.,14,BurroughsB5000计算机,当时开放Burroughs的唯一选择就是走一种极其危险的捷径:在Algol扩展语言编写的B5000操作系统(及衍生版)上允许系统程序将整个内存区域看做是一个(无保护的)机器字的数组。这种编程技巧可以将Algol扩展语言编写的程序高效地展开成算法符号表示的汇编语言。然而使用这样的实现语言,其危险是显而易见的。,15,BurroughsB5000计算机,Roche(1972)madethefollowingcommentaboutaB5500installationinwhichtheuserwaspermittedtoprograminextendedAlgol:Thisallowstheuseofstreamprocedures,ameansofaddressing,withoutchecks,anabsoluteoffsetfromhisdataarea.Mis-useandabuseofthesefacilitiesbyill-informedorover-ambitioususerscould,andoftendid,wreckthesystem.,16,BurroughsB5000计算机,Roche(1972)对允许用户使用Algol扩展编程的B5500系统给出下面的评价:它允许在使用程序流进行寻址时可以不经过检查而直接从数据域获取绝对偏移地址。这一特性经常会被受到错误引导的用户误用或别有用心的用户滥用而破坏系统。,17,BurroughsB5000计算机,Organick(1973)pointedoutthattheterminationofataskintheB6700operatingsystemmightcauseitsoffspringtaskstolosetheirstackspace!Thepossibilityofaprogrambeingabletodeletepartofitsownstackis,ofcourse,completelyatvariancewithournormalexpectationsofhigh-levellanguages,suchasFortran,Algol,orPascal.,18,BurroughsB5000计算机,Organick(1973)指出,在B6700操作系统中终止任务可能会导致其后代任务堆栈空间丢失!当然,使用诸如Fortran、Algol或者Pascal等高级语言时,程序有可能会删除部分自身堆栈,而这完全超出我们的正常预期。,19,BurroughsB5000计算机,AccordingtoRosin(1987),High-levellanguageswereusedexclusivelyforbothcustomerprogrammingandsystemsprogrammingoftheB5000.Similarclaimswouldbemadeforlateroperatingsystemsprogrammedinintermediate-levellanguages,includingMultics(Corbatffo1965),OS6(Stoy1972),andUnix(Ritchie1974).However,ineachcase,systemprogrammershadextendedsequentialprogramminglanguageswithunsafefeaturesforlow-levelprogramming.,20,BurroughsB5000计算机,Rosin(1987)则认为对B5000系统而言“高级语言是专门用于客户和系统编程的”。类似的要求促使其后的操作系统,诸如Multics(Corbatffo1965),OS6(Stoy1972)和Unix(Ritchie1974),使用中级语言进行编程。然而,对于其中任何一种,系统程序员都根据底层编程扩展了顺序编程语言的不安全特性。,21,BurroughsB5000计算机,Thereisnodoubtaboutthepracticaladvantagesofbeingabletoprogramanoperatingsysteminalanguagethatisatleastpartlyhigh-level.However,aprogrammingnotationthatincludesmachinelanguagefeaturesis,perdefinition,notahigh-levellanguage.,22,BurroughsB5000计算机,毫无疑问如果一个操作系统至少一部分可以使用高级语言编写,那么它就有实践优势。然而,每个定义的机器特征语言都只是一种编程符号而非高级语言。,23,BurroughsB5000计算机,SincenobodycouldexpectBurroughstouseconceptsthathad
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑节能减排咨询师评估方法试题及答案
- 执业药师中药学综合知识与技能考题大全
- 承包商入场安全培训试题及答案
- 效能提升措施试题及答案
- 教师期中考试反思总结9篇
- 2025 年高职城市轨道交通通信信号技术(轨道交通信号)试题及答案
- 标准员实务考核试题及答案揭秘
- 民族团结知识竞赛100题附答案
- 水利工程监理工程师资格考试案例模拟试题及答案
- 2025年劳动争议实体试题及答案
- 新型二次加压供水设备技术方案
- 餐饮场所消防安全培训课件
- ZXV10 M9000结构原理及维护
- 修理扫帚课件
- 2025年成都市团校入团考试题库(含答案)
- 毛绒玩具课件讲解
- 监理安全知识岗前培训课件
- 霹雳舞教学课件图片
- 特种设备管理课件
- 某市美术馆建设项目可行性研究报告
- 2025年国网湖北电力考试笔试试题(含答案)
评论
0/150
提交评论