【计算机讲解】计算机系统软件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机软件 武汉大学计算机学院 《编译原理》课程组 计算机软件包括 系统软件 支持软件 工具软件 计算机系统软件 计算机系统软件是计算机系统中最接近硬件的一层软件,它与具体的应用领域无关,如操作系统和编译程序等。 计算机系统中的其他软件一般都通过系统软件发挥作用。在任何计算机系统的设计中,系统软件都要予以优先考虑。如果没有系统软件,计算机就很难发挥效用。 3.1 程序设计语言翻译系统 计算机硬件只能识别并执行机器指令,但人们普遍习惯于使用高级程序设计语言或汇编语言来编写程序。为了让计算机能够理解高级程序设计语言或汇编语言并执行用它编写的程序,必须要为它配置一个“翻译”,这就是所谓的程序设计语言翻译系统。 程序设计语言翻译系统是一类系统软件,它能够将使用某一种源语言编写的程序翻译成与其等价的使用另一种目标语言编写的程序。 使用源语言编写的程序称为源程序,使用目标语言编写的程序称为目标程序。源程序是程序设计语言翻译系统加工的“原材料”,而目标程序则是程序设计语言翻译系统加工的“最终产品”。 不同的程序设计语言需要有不同的程序语言翻译系统,同一种程序设计语言在不同类型计算机上也需要配置不同的程序设计语言翻译系统。因此,如果有M种程序设计语言,有N种不同类型的计算机,则需要有M×N种程序设计语言翻译系统。 所谓某种类型的计算机种配置了某种程序设计语言,是指该计算机上已经配置了该语言的翻译系统。 程序设计语言翻译系统可以分成3种: 汇编语言翻译系统、 高级语言源程序翻译系统 高级语言源程序解释系统。 这些翻译系统之间的不同之处主要体现在 它们生成计算机可以执行的机器语言的过程中。 3.1.1 汇编语言翻译系统 其主要功能是将用汇编语言书写的程序翻译成用二进制表示的等价的机器语言程序,形成计算机可以执行的机器指令代码,如图3-1所示。 图 3-1 汇编程序的具体翻译工作如下: 用机器操作码代替符号化的操作符。 用数值地址代替符号名字。 将常数翻译为机器的内部表示。 分配指令和数据的存储单元。 3.1.2 高级语言翻译系统 1.什么是高级语言翻译系统 高级语言翻译系统是将用高级语言书写的源程序翻译成等价的机器语言程序或汇编程序的处理系统,也称为编译程序(或编译系统)。 它以高级语言书写的程序(称为源程序)作为输入,以机器语言或汇编语言表示的程序(称为目标程序)作为输出,它的任务是产生一个可在具体计算机上执行的目标程序。 多数高级程序设计语言(如C、PASCAL、FORTRAN等)都是采用编译的方式,也有一些程序设计语言(如BASIC等)采用解释的方式。由于源程序中的每一个语句与目标程序中的指令通常是一对多的关系,因而编译程序的实现算法比较复杂。 2.编译程序的结构 为了便于理解编译程序的整体结构和工作过程,可以把编译程序比喻为一个“信息加工流水线”,其加工的“原材料”是源程序,“最终产品”是目标程序,每一道“工序”则以上一道“工序”得到的“半成品”作为输入,经过该道“工序”的加工后再输出作为下一道“工序”的输入,直至最后得到“最终产品”——目标程序。 编译程序从机构与工作过程如图3-2所示, 其中各模块的功能如下: 词法分析:又称为扫描器,它的功能是扫描以字符串形式输入的源程序,识别出一个个的单词并将其转换为机内表示形式。 语法分析:又称为分析器,它的功能是对单词进行分析,按照语法规则分析出一个个的语法单位,如表达式、语句、程序等。 中间代码生成:它的功能是将语法单位转换为某种中间代码,如四元式、三元式、逆波兰式等。 优化:它负责对中间代码进行优化,使得生成的目标代码在运行速度、存储空间方面具有较高的质量。 目标代码生成:它的功能式将优化后的中间代码转换为目标程序。 以上是编译程序这个“信息加工流水线”的5道“主工序”,在每一道“工序”中,有可能需要使用各种表格来记录和查询必要的信息,或者需要进行出错处理,这些任务将由表格管理程序和出错处理程序来完成。 3.1.3 高级语言解释系统 高级语言解释系统(解释程序)是按照源程序中的语句的动态顺序逐条翻译并立即执行相应功能的处理系统。解释程序在翻译过程中并不把源程序翻译成一个完整的目标程序,而是直接将源程序中的语句逐句转换成机器可执行的动作,并获得结果,如图3-3所示。因此,源程序每次运行都需要重新进行解释。 解释程序的工作过程如下: 由总控程序完成初始化工作。 依次从源程序中取出一条语句进行语法检查,如有错,输出错误信息;如通过了语法检查,则根据语句翻译成相应的指令并执行它。 检查源程序是否已经全部解释执行完毕,如果未完成则继续解释并执行下一个语句,直到全部语句都处理完毕。 解

文档评论(0)

精品资料 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档