好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第2章处理机管理-4.ppt

46页
  • 卖家[上传人]:101****457
  • 文档编号:99301132
  • 上传时间:2019-09-18
  • 文档格式:PPT
  • 文档大小:615.50KB
  • / 46 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第二章.处理机管理,第2章 处理机管理-4,【学习目标】 掌握:作业的调度算法 用户与操作系统的两种接口 【学习重点、难点】 掌握作业调度算法 能够计算作业调度的周转时间、平均周转时间第二章.处理机管理,2.4.用户与操作系统的两种接口,程序接口:使用“系统调用命令”,获得操作系统提供的各种功能服务,这是操作系统在程序一级给予用户的支持 命令接口:用户使用操作系统提供的各种操作命令,通过键盘控制程序的运行这是操作系统在作业控制一级给予用户的支持第二章.处理机管理,1.特权指令、管态、目态,非特权指令:大家(指操作系统和用户)都能使用的指令 特权指令:只能由操作系统使用的指令 例如,启动外设、设置时钟以及设置中断屏蔽等指令均为特权指令CPU指令系统中的指令划分为两类,第二章.处理机管理,为了确保只在操作系统范围内使用特权指令,计算机系统让CPU取两种工作状态:,管态(管理程序态的简称):规定当CPU处于管态时,可以执行包括特权指令在内的一切机器指令; 和目态(目标程序态的简称):当CPU处于目态时,禁止使用特权指令,只能执行非特权指令 如果在目态下发现取到了一条特权指令,中央处理机就会拒绝执行,发出“非法操作”中断。

      一方面转交操作系统去处理该事件,另一方面出示“程序中有非法指令”的信息,通知用户进行修改第二章.处理机管理,硬件会自动设置与识别CPU是处于管态还是目态当CPU的控制权移到操作系统时,硬件就把CPU工作的方式设置成管态; 当操作系统选择用户程序占用处理机时,CPU的工作方式就会由管态转换成为目态第二章.处理机管理,2.系统调用命令,操作系统里预先编制了很多不同功能的子程序用户可以在自己的程序里调用这些子程序,请求操作系统提供功能服务 这些子程序被称为’“系统功能调用”程序,简称“系统调用”在用户程序中调用这些系统调用提供的功能,就称为发系统调用命令第二章.处理机管理,系统调用命令程序属于操作系统,它在管态下执行用户程序只有通过计算机系统提供的“访管”指令,才能实现由目态转为管态、进而调用这些功能程序的目的 访管指令是一条非特权指令,功能是执行它就会产生一个软中断,促使中央处理机由目态转为管态,进入操作系统,并处理该中断 利用访管指令的这种功能,编译程序就把源程序中的所有系统调用都转换成访管指令,把具体调用的功能转换成不同的编码使CPU执行访管指令由目态进入管态,转到相应的功能处理程序去执行。

      第二章.处理机管理,例如,,write(fd,buf,count)是UNIX型有关文件的一个系统调用命令用户可以实现往一个文件里进行写的操作 即把buf指向的用户内存区里的count个字节内容写到文件号为fd的磁盘文件上括号里的fd、buf和count是由用户提供的、写操作的参数,第二章.处理机管理,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所示,C编译程序把系统调用命令 write(f,buf count)翻译成一条 trap指令 104404,简记为 trap 04 当执行到 trap 04指令时,产生中断,硬件自动把处理机的工作方式由目态转变为管态CPU去执行trap,该程序根据trap后面的功能码04,从系统调用处理程序入口地址表中的第5个表目中,得到该系统调用应该有2个参数另外从表目中也得到该系统调用处理程序的人口地址于是,就可以携带这3个参数去执行Write的处理程序,完成用户提出的I/O要求执行完毕,又把处理机恢复到目态,返回目标程序中trap指令的下一条指令(即断点)继续执行执行完毕,恢复到目态,trap指令的下一条指令(即断点)继续执行第二章.处理机管理,不同的操作系统所提供的系统调用命令,在数量上、使用格式上以及功能上都会不同,但对系统调用的处理过程则大致如此。

      从功能上看,可以把系统调用命令分成五大类:,进程管理和控制的; 外部设备输入l输出的; 磁盘文件管理的; 访问系统信息的; 存储申请与释放的前面所述的创建过程原语等,属于第一类系统调用命令第二章.处理机管理,系统调用与一般的进程调用形式相似,但有着明显的区别1)一般的进程调用,调用者与被调用者都运行在相同的CPU状态即或都处于目态或都处于管态;但发生系统调用时,发出调用命令的调用者运行在目态,而被调用的对象则运行在管态 2)一般的进程调用,是直接通过转移指令转向被调用的程序;但发生系统调用时,只能通过软中断指令提供的一个统一的入口,由目态进入管态,经分析后,才转向相应的命令处理程序 3)一般的进程调用,在被调用者执行完后,就径直返回断点继续执行;但系统调用可能会招致过程状态的变化,从而引起系统重新分配处理机因此,系统调用处理结束后,不一定是返回调用者断点处继续执行第二章.处理机管理,3.操作命令,在批处理系统中,用户事先利用作业控制(命令)语言,书写作业说明书作业说明书连同程序和数据一起提交给系统,系统按照作业说明书上的信息,控制作业的执行这是所谓的“脱机命令接口” 在分时系统与个人计算机中,向用户提供的是所谓的“联机命令接口”。

      即联机解释执行第二章.处理机管理,联机命令大致可有以下几种类型:,1)系统访问命令:诸如注册、注销和口令等就属于此类命令此类命令主要用于系统识别用户,以保证整个系统的安全 2)磁盘操作命令:如磁盘格式化、磁盘拷贝和磁盘比较等 3)文件操作命令:如文件的显示、文件拷贝和文件删除等 4)目录操作命令:如建立于目录、目录显示和目录删除等 5)其他命令:如输入输出重定向和管道连接等第二章.处理机管理,使用命令接口感到不便,容易出错目前,大都被“窗口”图形用户接口所取代第二章.处理机管理,2.4.2 作业与作业管理,1.作业与作业步 所谓“作业”,是用户要求计算机系统所做的一个计算问题或一次事务处理的完整过程 为此,用户首先要用某种程序设计语言对计算问题或事务处理编写相应的源程序,准备好初始数据,然后把它们输入到计算机中,完成编译、连接与装配等项工作,产生出可以执行的代码,最后投入运行,取得所需要的结果由此看来,任何一个作业都要经过若干加工步骤之后,才能得到结果我们称每一个加工步骤为一个“作业步”第二章.处理机管理,一个作业的各个作业步之间是有联系的通常,上一个作业步的输出是下一个作业步的输入第二章.处理机管理,2.作业控制块,创建一个进程时,要开辟一个进程控制块PCB,以便记录进程的信息。

      在把一个作业提交给系统时,系统也要开辟一个作业控制块JCB,以便记录作业的信息JCB中可能包含的信息,这些信息有的来自作业说明书,有的则会在运行过程中不断发生变化第二章.处理机管理,被系统接纳的还没有投入运行之前的作业,称为后备作业这些作业存放在辅助存储器中,并由它们的JCB联接在一起,形成后备作业队列 系统是从后备作业队列中挑选对象去参与对处理机的竞争的第二章.处理机管理,3.作业调度,按照某种规则,从后备作业队列中挑选作业进入内存,参与处理机的竞争,这个过程称为作业调度 完成这项工作的程序,称为作业调度程序 作业调度程序中采用的规则,称为作业调度算法第二章.处理机管理,处理机的调度:作业调度和进程调度,作业调度也称为高级调度,它将决定允许后备作业队列中的哪些作业进入内存一个作业被作业调度程序调入内存后,系统就为它创建进程,使它能以进程的形式,去参与对处理机的竞争 进程调度也称低级调度,它将确定当CPU可用时,把它分配给哪一个就绪进程使用,并且实际完成对CPU的分配第二章.处理机管理,4、作业的状态与状态的变迁,从作业提交给系统,到作业运行完毕被撤消,就是一个作业的生命期 在此期间,作业随着自己的推进,随着多道程序系统环境的变化,其状态也在发生着变化。

      它由提交状态变为后备状态,变为运行状态,最后变为完成状态,如图所示第二章.处理机管理,1)提交状态:作业进入辅存时的状态这时,作业的信息还没有全部进入系统,系统也没有为它建立作业控制块JCB,因此根本感知不到它的存在是一个暂时的状态 2)后备状态:该状态也称收容状态在系统收到一个作业的全部信息后,为它建立起作业控制块JCB,并将JCB排到后备作业队列中 3)运行状态:后备作业队列中的作业被作业调度程序选中,进入内存去参与对CPU的竞争从宏观上看,处于“运行”状态的多个作业都在执行之中;从微观上看,它们都在走走停停,各自以独立的、不可预知的速度向前推进 4)完成状态:作业运行结束后,就处于完成状态是一个暂时性状态此时,系统正在做着收尾工作,收回所占用的各种资源,撤除作业的JCB等第二章.处理机管理,2.4.3 作业的调度算法,从用户的角度出发,总希望自己的作业提交后能够尽快地被选中,并投入运行 从系统的角度出发,它既要顾及到用户的需要,还要考虑系统效率的发挥 在确定作业调度算法时,应该注意如下的一些问题: 1)公平对待后备作业队列中的每一个作业,避免发生无故或无限期地延迟一个作业的执行,使各类用户感到满意。

      第二章.处理机管理,(2)使进入内存的多个作业,能均衡地使用系统中的资源,避免出现有的资源没有作业使用、有的资源却被多个作业争抢的“忙闲”不均的情形 (3)力争在单位时间内为尽可能多的作业提供服务,提高整个系统的吞吐能力 批处理环境下的作业调度算法,是用系统的吞吐能力来判定一个算法的优劣 在批处理系统中,是使用作业的“周转时间”来描述系统的吞吐能力的假定作业i提交给系统的时间为S;其完成的时间为W那么该作业的周转时间T为: L=W-S 对于一批n个作业而言,他们的平均周转时间T为: T=(T1+T2+…+Tn)/n,第二章.处理机管理,1.“先来先服务”作业调度算法,以作业进入后备作业队列的先后次序,作为作业调度程序挑选作业的依据,这就是先来先服务作业调度算法的基本思想 注意,这是以其资源需求能够得到满足为前提的如果它所需要的资源暂时无法获得,那么它就会被推迟选中第二章.处理机管理,例2.4 考虑三个作业:它们按照1、2.3的顺序,同时提交给系统,采用先来先服务的作业调度算法求每个作业的周转时间以及它们的平均周转时间1,2,3,,,24,,,,,27,30,0,按照先来先服务的顺序,周转时间:T1=24-0=24 T2=27-0=27 T3=(30-0)=30 平均周转时间:T=(T1+T2+T3)/3=(24+27+30)/3=27,第二章.处理机管理,例2.5 有5个作业:它们进入后备作业队列的到达时间如上所示(注意,不是同时到达)。

      采用先来先服务的作业调度算法,求每个作业的周转时间以及它们的平均周转时间忽略系统调度时间),第二章.处理机管理,。

      点击阅读更多内容
      相关文档
      云南省红河州河口县语文二年级下学期期末试题+2020-2021学年.pdf 八年级生物开学摸底考(人教版)(答题卡).pdf 云南省文山州砚山县数学四年级下学期期末试题 2020-2021学年 (2).pdf 八年级生物开学摸底考(辽宁专用)(答题卡).pdf 八年级生物开学摸底考(海南专用)(答题卡).pdf 云南省昆明市五华区数学四年级第二学期期末考试 2020-2021学年.pdf 八年级生物开学摸底考(南京专用)(答题卡).pdf 八年级生物开学摸底考(湖南专用)(答题卡).pdf 云南省德宏州语文五年级下学期期末试题 2020-2021学年答案zq.pdf 八年级生物开学摸底考(武汉专用)(答题卡).pdf 2022年盐城市中考化学试卷答案.pdf 云南省德宏州语文四年级下学期期末试题 2020-2021学年.pdf 云南省德宏州数学四年级下学期期末试题 2020-2021学年.pdf 云南省德宏州数学五年级下学期期末试题 2020-2021学年数学答案zq.pdf 八年级生物开学摸底考(福建专用)(答题卡).pdf 八年级生物开学摸底考(全国通用)(答题卡).pdf 八年级生物开学摸底考(广西专用)(答题卡).pdf 八年级生物开学摸底考(广州专用)(答题卡).pdf 云南省昆明市盘龙区数学四年级第二学期期末考试 2020-2021学年.pdf 云南省昆明市盘龙区语文二年级第二学期期末考试 2020-2021学年(人教部编版无答案PDF).pdf
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.