《在大型通用系统中.ppt》由会员分享,可在线阅读,更多相关《在大型通用系统中.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 在大型通用系统中,可能有数百个批处理作业存放在磁盘的作业队列中,有数百个终端同主机相联接。因此如何从这些作业中挑选作业进入主存运行、如何在作业或进程间分配处理等,问题无疑是操作系统的资源管理功能中的一个重要问题。本章主要讨论处理机分配问题,或称处理机调度。一般来说,处理机调度可以分成三级:(1)高级调度:高级调度:又称作业调度,其主要功能是按照某种原则从磁盘某些盘区的作业队列中选取作业进入主存,并为作业做好运行前的准备工作和作业完成后的善后工作。(2)中中级级调调度度:它决定哪些进程被允许参与竞争处理机资源。中级调度主要只是起到短期调整系统负荷的作用,以平顺系统的操作。其所使用的方法是通过“
2、挂起”和“解除挂起”一些进程,来达到平顺系统操作的目的。(3)低低级级调调度度:又称进程调度,其主要功能是按照某种原则将处理机分配给就绪进程。执行低级调度功能的程序称为进程调度程序,由它实现处理机在进程间的转换。它必须常驻主存,是操作系统内核的主要部分。RUNreadyablockedareadysblokeds后备完成作业后备状态执行内存时间片到I/O请求I/O完成高级调度(作业调度)挂起解挂挂起解挂进程调度低级调度中级调度 5.1 5.1 作业的状态与处理流程作业的状态与处理流程作业的状态与处理流程作业的状态与处理流程一、一、作业状态作业状态提交收容执行完成提交状态后备状态运行状态完成状态
3、 作业从提交给系统直到它完成后离开系统前的整个活动常划分为若干阶段。作业在每一阶段中所处的状况称为作业的状态。系统中的作业通常分为四种状态:(1)提交状态:提交状态:一个作业被提交给机房后或用户通过终端键盘向计算机中键入其作业时所处的状态为提交状态。(2)后备状态:后备状态:作业的全部信息都已通过输入机输入,并由操作系统将其存放在磁盘的某些盘区中等待运行,则称为后备状态。(3)运行状态:运行状态:作业一旦被作业调度程序先中而被送入主存中投入运行,称之为运行状态。(4)完成状态:完成状态:作业完成其全部运行,释放出其所占用的全部资源,准备退出系统的作业状况称为完成状态。二、二、作业的输入和输出作
4、业的输入和输出(a)联机I/O 外围机负责I/O,独立于主机 数据 磁盘、带可转移 批处理外围机hostI/O打印机打孔机(b)Spooling 系统(伪脱机输入/出技术)用通道承担I/O(有处理能力)负责I/O有专门系统进程优先改变 I/O通过磁盘暂存输入#,输出#假脱机实际由进程完成hostSpooling I/O通道通道通道输入(盘)输出井输入设备输出设备(c)直接耦合方式:(i)专用外围机I/O(ii)大巨型机host外围机YH1VAX780I/O设备 5.2 5.2 作业的调度作业的调度作业的调度作业的调度 系统中往往有成百个作业被收容在磁盘输入井中,为了管理和调度作业,就必须记录已
5、进入系统的各作业的情况。因此同进程中的情况类似,系统也为每个作业设置一个作业控制块(记为JCB),它记录了作业的有关信息。不同系统的 JCB 所包含的信息有所不同,这取决系统对作业调度的要求。JCB结构 见书P122 图6.8 JCB 是在作业进入系统时由 SPOOL 系统为其建立的。其内容由作业控制卡中得到。同样 JCB 也是作业存在于系统的标志,作业进入系统时,则为之建立 JCB。当作业退出系统时,则其 JCB 也被撤消。在磁盘输入井中的所有后备作业按作业类型将它们组成一个或多个后备作业队列。所谓后备作业队列是由作业控制块 JCB 用表格或链指针组成的队列。作业队列可按优先数大小和作业到达
6、系统的时间顺序排列。一、一、作业调度作业调度:(JCB作业控制块作业控制块)根据系统内所有资源的使用情况,按照某种调度算法选择一个后备作业进入系统,并为其创造一个进程。为此,作业调度还要为选中的作业分配资源,作好作业支行前的准备。完成作业调度功能的程序称为作业调度程序。作业调度程序要完成以下工作:(1)按照某种调度算法从后备作业队列中挑选作业。(2)为选中的作业分配主存和外设资源。(3)为选中的作业建立相应的进程。(4)构造和填写作业运行时所需的有关表格。(如作业表)(5)作业结束时完成该作业的善后处理工作,如收回资源,输出必要的信息,撤消该作业的全部进程(PCB)和作业控制块 JCB。5.3
7、 5.3 进程调度进程调度进程调度进程调度 作业调度程序在挑选作业进入主存运行时,要为该作业建立相应的进程。在作业完成后要撤消该作业的全部进程。因此作业调度程序要调用操作系统内核所提供的有关的进程管理原语。由于进程只能由其父进程建立,所以在一般系统中,作业调度程序都以进程的形式在系统中存在和活动,称为作业调度进程。作业调度进程可以说是系统中的祖先进程,由它完成作业调度的诸多功能。一个进程被建立后,系统为了便于对进程的管理,将系统中的所有进程按其状态,将其组织成不同的进程队列。于是系统中有运行进程队列、就绪进程队列和各种事件的进程等待队列。进程调度的功能是从就绪队列中挑选一个进程到处理机上运行。
8、负责进程调度功能的内核程序称为进程序调度程序。所谓作业调度程序挑选作业进主存运行是个宏观的概念,实际上被选进主存运行的作业只是具有了竞争处理机的机会(将来真正在处理机上运行的是该作业的一个进程)。而进程调度程序才是真正让某个就绪进程到处理机上运行。5.4 5.4 选择调度算法时应考虑的问题选择调度算法时应考虑的问题选择调度算法时应考虑的问题选择调度算法时应考虑的问题 目前比较普遍使用的几种调度算法,对于作业调度和进程调度大致上都是适用的。在设计系统的调度程序时,首先要决定选择何种调度算法,依据此算法来编制相应的调度程序。而调度算法实际上就是系统所采取的调度策略,选择时所要考虑的因素很多。如系统
9、各类资源的均衡使用;对用户公平并使用户满意;用户作业到达系统的时间;作业的优先数;对主存和外设的要求;以及整个系统的效率等。设计时应将那些对系统运行影响较大的关键因素作为调度算法考虑的主要依据。(1)设设计计目目标标:目标不同,系统的设计要求自然不同。如批处理系统所追求的是充分发挥和提高计算机的效率;实时系统所关心的是不要丢失实时信息并及时给以处理;而分时系统则侧重于保证用户的请示及时给予响应;计算中心要求系统吞吐量在大等等。(2)资资源源利利用用率率:在考虑设计目标的前提下应充分发挥各种资源的效能,最大限度地使它们忙碌。科学计算型作业和数据处理型作业搭配运行就是一种方法。(3)均均衡衡地地处处理理系系统统和和用用户户的的要要求求:例如个别用户可能要求使用系统中的几乎全部外设,却只要求很少的主存。系统若满足这类用户的愿望,势必影响主存利用率,从而降低系统效率,所以一般都不得不推迟这种作业的运行时间,等到有要求内存多而外设少的作业与之搭配运行。但是我们选择的算法也不应使一个作业的运行被无限制地推迟。(4)在使用优先级的系统中,每个进程都有一个优先数,调度算法应优先运行高优先级进程。(5)在使用优先数的系统中,调度策略还分为“可抢占”和“不可抢占”两种方式。抢占策略通常使用于需要迅速响应高优先级进程的系统中。
限制150内