《处理机管理》课件.ppt
操作系统的资源管理,操作系统的资源管理,(1)资源管理的机制与策略 死锁及其解决方法(2)处理机管理(3)主存管理(4)设备管理(5)文件系统,1,操作系统的资源管理 主要内容,处理机管理,操作系统的资源管理(2)处理机管理,2,处理机的多级调度作业调度进程调度,3,操作系统的资源管理(2)主要内容,4,1.处理机调度的功能确定数据结构 确定调度策略(调度原则)给出调度算法 实施处理机分派 不同类型的操作系统往往采用不同的处理机分配方法,操作系统的资源管理(2)处理机的多级调度,5,2.批处理系统中的处理机调度 处理机调度分为两级:作业调度和进程调度作业调度 宏观调度 任务对存放在辅存设备上的大量作业,以一定的策略 进行挑选,分配主存等必要的资源,建立作业对应的进 程,使其投入运行。进程调度 微观调度 任务对进入主存的所有进程,确定哪个进程在什么时 候获得处理机,使用多长时间。,操作系统的资源管理(2)处理机的多级调度,6,3.多任务操作系统中的处理机调度多进程的产生 在分时系统或支持多任务并发执行个人计算机操作系统 中,系统将用户提交的任务处理为进程,一个进程又可 以创建多个子进程,形成可以并发执行的多进程。进程调度的任务 当处理机空闲时,以某种策略选择一个就绪进程去运行,并分配处理机的时间。,操作系统的资源管理(2)处理机的多级调度,7,4.多线程操作系统中的处理机调度多线程的产生 在支持多线程运行的系统中,一个进程可以创建一个线 程,也可以创建多个线程。系统为进程分配它所需要的 资源,而处理机的分配单位则为线程。线程调度的任务 当处理机空闲时,以某种策略选择一个就绪线程去运行,并分配处理机时间。,操作系统的资源管理(2)处理机的多级调度,8,作业在整个活动期间有如下状态。后备状态 作业已存放在磁盘上,等待调度。执行状态 作业进入主存开始运行。完成状态 作业计算完成开始,退出系统。,1.作业的状态,操作系统的资源管理(2)作业调度,9,作业状态变迁图,操作系统的资源管理(2)作业调度,10,确定数据结构 建立作业控制块jcb(job control block)。作业控制块记 录了每个作业类型、状态、资源请求及分配情况。确定调度策略与调度算法分配资源 为选中的作业分配所需要的系统资源。善后处理 收回该作业所占用的全部资源,撤消作业控制块以及 与该作业有关的全部进程资源。,2.作业调度的功能,操作系统的资源管理(2)作业调度,11,主要内容作业名资源要求 估计执行时间、最迟完成时间、要求的主存量、要求外设的类型及 台数、要求文件量和输出量资源使用情况 进入系统时间、开始执行时间、已执行时间、主存地址、外设台号类型优先级作业状态,3.作业控制块,操作系统的资源管理(2)作业调度,12,周转时间 一个作业提交给计算机系统到该作业的结果返回给用户所需要的时间。定义 ti=tci-tsi ti作业i的周转时间 tsi作业i的提交时间 tci作业i的完成时间意义 说明作业 i 在系统中停留时间的长短平均周转时间 t=,4.作业调度算法性能的衡量的功能 采用平均周转时间和平均带权周转时间衡量作业调度算法 性能的好坏。,操作系统的资源管理(2)作业调度,13,带权周转时间定义:一个作业的周转时间与其运行时间的比值 wi=意义 说明作业 i 在系统中相对等待时间平均带权周转时间 w=,操作系统的资源管理(2)作业调度,14,先来先服务调度算法(FCFS)策略:按作业来到的先后次序进行调度。特点:简单,易实现。讨论:先来先服务调度算法下的周转时间、带权周转时间,5.常用的作业调度算法,先来先服务调度算法(FCFS)作业 提交时间 执行时间 开始时间 完成时间 周转时间 带权周转时间 1 8.002.00 2 8.500.50 3 9.00 0.10 4 9.50 0.20,8.00 10.00 2.00 1,10.00 10.50 2.00 4,10.50 10.60 1.60 16,10.60 10.80 1.30 6.5,平均周转时间 t=平均带权周转时间 w=,1.725,6.875,操作系统的资源管理(2)作业调度,15,短作业优先调度算法策略:按作业请求运行的时间长短进行调度。特点:易实现,系统吞吐量高。讨论:短作业优先调度算法下的周转时间与带权周转时间,先来先服务调度算法(FCFS)作业 提交时间 执行时间 开始时间 完成时间 周转时间 带权周转时间 1 8.002.00 2 8.500.50 3 9.00 0.10 4 9.50 0.20,平均周转时间 t=平均带权周转时间 w=,8.00 10.00 2.00 1,10.30 10.80 2.30 4.6,10.00 10.10 1.10 11,10.10 10.30 0.80 4,1.55,5.15,操作系统的资源管理(2)作业调度,16,进程管理的数据结构 决定调度策略优先调度 就绪队列按进程优先级高低排序先来先服务 就绪队列按进程来到的先后次序排序实施处理机的分配和回收,1.进程调度的功能,操作系统的资源管理(2)进程调度,17,什么是调度方式 当一进程正在处理机上执行时,若有某个更为“重要而紧迫”的进程需要运行,系统如何分配处理机。非剥夺方式 让正在执行的进程继续执行,直到该进程完成或发生某事件而进入“完成”或“阻塞”状态时,才把处理机分配给“重要而紧迫”的进程。剥夺方式 当“重要而紧迫”的进程一到,便暂停正在执行的进程,立即把处理机分配给优先级更高的进程。,2.进程调度的方式,操作系统的资源管理(2)进程调度,18,进程优先数调度算法什么是进程优先数调度算法 预先确定各进程的优先数,系统把处理机的使用权赋予 就绪队列中具备最高优先权(优先数和一定的优先级相 对应)的就绪进程。优先数的分类及确定 静态优先数 在进程被创建时确定,且一经确定后在整个进程运 行期间不再改变。,3.进程调度算法,操作系统的资源管理(2)进程调度,19,静态优先数的确定优先数根据进程所需使用的资源来计算优先数基于程序运行时间的估计优先数基于进程的类型 动态优先数 进程优先数在进程运行期间可以改变。动态优先数的确定进程使用CPU超过一定数值时,降低优先数进程I/O操作后,增加优先数进程等待时间超过一定数值时,提高优先数,操作系统的资源管理(2)进程调度,20,循环轮转调度算法什么是循环轮转调度算法 当CPU空闲时,选取就绪队列首元素,赋予一个时间 片,当时间片用完时,该进程转为就绪态并进入就绪队 列末端。该队列排序的原则是什么?,操作系统的资源管理(2)进程调度,21,简单循环轮转调度算法 就绪队列中的所有进程以等速度向前进展。q=t/n t 为响应时间,n为进入系统的进程数目。q 值的影响?循环轮转调度算法的发展可变时间片轮转调度多重时间片循环调度,操作系统的资源管理(2)进程调度,22,5.调度用的进程状态变迁图,一个调度用的进程状态变迁图的实例,操作系统的资源管理(2)进程调度,23,进程状态运行状态低优先就绪状态高优先就绪状态因I/O而等待状态队列结构低优先就绪队列高优先就绪队列因I/O而等待队列,调度用进程状态变迁图实例的分析,操作系统的资源管理(2)进程调度,24,进程调度算法 优先调度与时间片调度相结合的调度算法当CPU空闲时,若高优先就绪队列非空,则从高优 先就绪队列中选择一个进程运行,分配时间片为 100ms。当CPU空闲时,若高优先就绪队列为空,则从低优 先就绪队列中选择一个进程运行,分配时间片为 500ms。调度效果 优先照顾IO量大的进程;适当照顾计算量大的进程。,操作系统的资源管理(2)进程调度,25,变迁1 变迁3,变迁1 变迁4,变迁2 变迁3,较复杂进程状态变迁的讨论,操作系统的资源管理(2)进程调度,26,处理机的两级调度作业调度作业的状态周转时间、带权周转时间的定义 物理意义常用的作业调度算法进程调度进程调度的功能调度方式 非剥夺方式 剥夺方式常用的进程调度算法调度用的进程状态变迁图的分析,操作系统的资源管理(2)小结,