3第三章处理机调度与死锁.ppt
文本预览下载声明
作业调度 作业运行状态 外存 作业调度 作业运行状态 外存 作业的状态: 作业从进入到运行结束,一般需要经历“提交”、“后备”、“运行”和“完成”四个阶段。 提交状态 一个作业被提交给机房后正在通过SPOOLing系统进行输入或用户通过终端向计算机中键入其作业时所处于的状态为提交状态。 后备状态 作业已经过SPOOLing系统输入到磁盘输入井,等待调入内存运行,此时作业处于后备状态。为了管理和调度作业,为每个作业设置一个作业控制块(JCB)。作业控制块记录了作业类型和资源要求等有关信息。作业控制块按作业类型组成一个或多个后备作业队列。 运行状态 一个在后备作业队列的作业被作业调度程序选中后,分配必要的资源,建立一组相应的进程后,调入内存,该作业就进入运行状态。进程各状态(进程运行态、内存进程就绪态、内存阻塞态、外存进程就绪态、外存进程阻塞态等)都对应作业运行状态。 完成状态 当进程正常运行结束或因发生错误而终止时,作业进入完成状态。终止作业程序将负责善后处理。 作业状态的转换: 作业调度 作业调度程序按一定算法从后备作业队列中选一个满足资源要求的作业,分配它所要求的资源,建立一组相应的进程,设置该进程状态为就绪态,并将该进程插入内存就绪队列,参加CPU争夺。 终止作业 当进程正常运行结束或因发生错误终止时,调用终止作业程序,它负责将输出文件缓冲输出到输出井,并调用SPOOLing系统输出进程将作业输出文件在打印机输出。同时回收作业所使用内、外存、I/O设备等各种资源,最后调用记帐程序结清作业费用。 作业调度 作业运行状态 外存 作业调度 作业运行状态 外存 3.3 调 度 算 法 处理机管理需要解决三个主要问题: (1)按什么原则分配处理机,即需要确定处理机调度算法; (2)什么时候分配处理机,即需要确定处理机调度时机; (3)如何分配处理机,即需要给出处理机调度过程。 一、 调度算法 引入多道程序系统的直接目的就是想让处理机“忙”,一直以来处理机都是计算机系统中的瓶颈资源之一,特别是在单处理机系统中,处于就绪状态的多个进程竞争使用一台处理机,所以当处理机空闲时,系统需要从多个就绪进程中挑选一个使其投入运行。选择哪一个呢?这需要按某一种算法。调度算法的实质就是一种资源分配。 从资源的角度来看,该算法确定了处理机的分配策略,故称其为处理机调度算法; 而从资源使用者的角度看,该算法确定了进程运行的次序,故也称进程调度算法。 常用的进程调度算法 先来先服务调度算法 短进程优先调度算法 时间片轮转调度算法 优先数调度算法 响应比高者优先调度算法 多级队列调度算法 1.先来先服务调度算法FCFS 该算法按照进程进入就绪队列的先后顺序选择最先进入该队列的进程,把处理机分配给它,使之投入运行。 这是一种不可抢占方式的调度算法,优点是实现简单,缺点是后来的进程等待CPU的时间较长。即有利于长作业(进程),不利于短作业(进程)。 在当今系统中,先进先出很少作为调度模式,而是常常嵌套在其它的调度模式中。 例如,许多调度模式根据优先级将处理机分配给进程,但具有相同优先级的进程却按先进先出进行分配。 抢占式优先权调度算法是一种可抢占方式的调度算法,可防止一个长作业长期的垄断处理机。 若所有的进程具有相同的优先权初值,则按照FCFS算法,最先进入就绪队列的进程最先获得处理机。若所有的就绪进程具有各不相同的优先权初值,对于优先权初值低的进程,在等待足够的时间后,其优先权可能升为最高,从而获得处理机执行。 例2.10 有5个进程P1、P2、P3、P4、P5,它们同时依次进入就绪队列,它们的优先数和需要的处理机时间如下: 进程 处理机时间 优先数 P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 忽略进程调度所花的时间,要求: (1)分别写出采用先来
显示全部