- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 处理机管理-4 【学习目标】 掌握:作业的调度算法 用户与操作系统的两种接口 【学习重点、难点】 掌握作业调度算法。 能够计算作业调度的周转时间、平均周转时间。 2.4.用户与操作系统的两种接口 程序接口:使用“系统调用命令”,获得操作系统提供的各种功能服务,这是操作系统在程序一级给予用户的支持。 命令接口:用户使用操作系统提供的各种操作命令,通过键盘控制程序的运行。这是操作系统在作业控制一级给予用户的支持。 1.特权指令、管态、目态 非特权指令:大家(指操作系统和用户)都能使用的指令。 特权指令:只能由操作系统使用的指令。 例如,启动外设、设置时钟以及设置中断屏蔽等指令均为特权指令。 为了确保只在操作系统范围内使用特权指令,计算机系统让CPU取两种工作状态: 管态(管理程序态的简称):规定当CPU处于管态时,可以执行包括特权指令在内的一切机器指令; 和目态(目标程序态的简称):当CPU处于目态时,禁止使用特权指令,只能执行非特权指令。 如果在目态下发现取到了一条特权指令,中央处理机就会拒绝执行,发出“非法操作”中断。一方面转交操作系统去处理该事件,另一方面出示“程序中有非法指令”的信息,通知用户进行修改。 硬件会自动设置与识别CPU是处于管态还是目态。 当CPU的控制权移到操作系统时,硬件就把CPU工作的方式设置成管态; 当操作系统选择用户程序占用处理机时,CPU的工作方式就会由管态转换成为目态。 2.系统调用命令 操作系统里预先编制了很多不同功能的子程序。用户可以在自己的程序里调用这些子程序,请求操作系统提供功能服务。 这些子程序被称为’“系统功能调用”程序,简称“系统调用”。在用户程序中调用这些系统调用提供的功能,就称为发系统调用命令。 系统调用命令程序属于操作系统,它在管态下执行。 用户程序只有通过计算机系统提供的“访管”指令,才能实现由目态转为管态、进而调用这些功能程序的目的。 访管指令是一条非特权指令,功能是执行它就会产生一个软中断,促使中央处理机由目态转为管态,进入操作系统,并处理该中断。 利用访管指令的这种功能,编译程序就把源程序中的所有系统调用都转换成访管指令,把具体调用的功能转换成不同的编码。使CPU执行访管指令由目态进入管态,转到相应的功能处理程序去执行。 例如, write(fd,buf,count)是UNIX型有关文件的一个系统调用命令。用户可以实现往一个文件里进行写的操作。 即把buf指向的用户内存区里的count个字节内容写到文件号为fd的磁盘文件上。 C编译程序在编译源程序时,总是把系统调用命令翻译成能够引起软中断的访管指令trap。 该指令长两个字节,第1个字节为操作码,第2个字节为系统调用命令的功能编码。 Trap的16进制操作码为89,Write的功能码为04。即 Write将被翻译成一条二进制值为1 000 100 100 000 100的机器指令(其八进制是104404)。 Write命令括号中的参数,将由编译程序把它们顺序放在trap指令的后面。于是,源程序中的write(fd,buf,count),经过编译后,就对应于如图2-14(a)所示的trap机器指令。 Trap 即指令中的功能码是用来区分不同的功能调用的。 在UNIX操作系统中,有一张“系统调用程序入口地址表”。该表表目从0开始、以系统调用命令所对应的功能码为顺序进行排列。例如,Write 的功能码是04加,那么该表中的第5个表目内容就是对应于Write的。 系统调用的处理过程,如图2-15所示 不同的操作系统所提供的系统调用命令,在数量上、使用格式上以及功能上都会不同,但对系统调用的处理过程则大致如此。 从功能上看,可以把系统调用命令分成五大类: 系统调用与一般的进程调用形式相似,但有着明显的区别。 1)一般的进程调用,调用者与被调用者都运行在相同的CPU状态。即或都处于目态或都处于管态;但发生系统调用时,发出调用命令的调用者运行在目态,而被调用的对象则运行在管态。 2)一般的进程调用,是直接通过转移指令转向被调用的程序;但发生系统调用时,只能通过软中断指令提供的一个统一的入口,由目态进入管态,经分析后,才转向相应的命令处理程序。 3)一般的进程调用,在被调用者执行完后,就径直返回断点继续执行;但系统调用可能会招致过程状态的变化,从而引起系统重新分配处理机。因此,系统调用处理结束后,不一定是返回调用者断点处继续执行。 3.操作命令 在批处理系统中,用户事先利用作业控制(命令)语言,书写作业说明书。作业说明书连同程序和数据一起提交给系统,系统按照作业说明书上的信息,控制作业的执行。这是所谓的“脱机命令接口”。 在分时系统与个人计算机中,向用户提供的是所谓的“联机命令接口”。即联机解释执行。 联机命令大
文档评论(0)