教学课件第5章 进程调度与死锁.ppt
《教学课件第5章 进程调度与死锁.ppt》由会员分享,可在线阅读,更多相关《教学课件第5章 进程调度与死锁.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第 5 章章进程调度与死锁进程调度与死锁本章内容本章内容p5.1 进程调度的基本概念进程调度的基本概念 p5.2 进程调度的功能和原因进程调度的功能和原因p5.3 进程调度算法进程调度算法p5.4 死锁死锁 p5.5 Linux进程调度进程调度 本章学习目标本章学习目标q了解进程调度的基本概念了解进程调度的基本概念q掌握进程调度的算法掌握进程调度的算法q理解死锁的概念理解死锁的概念q掌握产生死锁的原因和必要条件掌握产生死锁的原因和必要条件q掌握银行家算法的使用方法掌握银行家算法的使用方法45.1 进程调度的基本概念进程调度的基本概念 1. 进程调度的定义进程调度的定义q 进程调度也称为处理机
2、调度,它决定将处理机分进程调度也称为处理机调度,它决定将处理机分配给就绪队列里的某个进程,并使之运行,从而配给就绪队列里的某个进程,并使之运行,从而协调和控制各进程对处理机的使用。相应的执行协调和控制各进程对处理机的使用。相应的执行处理机分配的程序称为进程调度程序。处理机分配的程序称为进程调度程序。 55.1 进程调度的基本概念进程调度的基本概念 65.1 进程调度的基本概念进程调度的基本概念 2. 进程调度的方式进程调度的方式q 非剥夺方式非剥夺方式:在采用这种调度方式下,进程调度:在采用这种调度方式下,进程调度程序一旦把处理机分配给某个进程后,便让该进程序一旦把处理机分配给某个进程后,便让
3、该进程一直执行,直到该进程运行完毕或发生某事件程一直执行,直到该进程运行完毕或发生某事件而阻塞时,才把处理机分配给另一个进程。而阻塞时,才把处理机分配给另一个进程。 q 剥夺方式:在采用这种调度方式下,当一个进程剥夺方式:在采用这种调度方式下,当一个进程正在运行时,系统可以基于某种原则,暂停该进正在运行时,系统可以基于某种原则,暂停该进程的执行,将分配给它的处理机重新分配给另一程的执行,将分配给它的处理机重新分配给另一进程。进程。 75.2 进程调度的功能和原因进程调度的功能和原因 1. 进程调度的功能进程调度的功能 q 记录系统中所有进程的执行情况记录系统中所有进程的执行情况 。 q 选择进
4、程占用处理机选择进程占用处理机 。 q 进行进程的上下文切换。进行进程的上下文切换。85.2 进程调度的功能和原因进程调度的功能和原因 2. 进程调度的原因进程调度的原因 q 正在执行的进程执行完毕。正在执行的进程执行完毕。q 正在执行的进程提出正在执行的进程提出I/O请求后被阻塞。请求后被阻塞。q 执行中的进程调用了执行中的进程调用了P原语操作,从而因资源不原语操作,从而因资源不足而被阻塞;或调用了足而被阻塞;或调用了V原语操作激活了等待资原语操作激活了等待资源的阻塞进程。源的阻塞进程。q 在剥夺调度方式中,当就绪队列中的某进程的优在剥夺调度方式中,当就绪队列中的某进程的优先级高于当前执行进
5、程的优先级时,引起进程调先级高于当前执行进程的优先级时,引起进程调度。度。q 在分时系统中时间片已经用完。在分时系统中时间片已经用完。95.3 进程调度算法进程调度算法 1. 先来先服务调度算法先来先服务调度算法 q 先来先服务(先来先服务(FCFS)算法以到达就绪队列的先)算法以到达就绪队列的先后次序为标准来选择占用处理机的进程。每次调后次序为标准来选择占用处理机的进程。每次调度都从就绪队列中,选择一个最先进入该队列的度都从就绪队列中,选择一个最先进入该队列的进程,为之分配处理机。一个进程一旦占有了处进程,为之分配处理机。一个进程一旦占有了处理机,便一直执行下去,直到正常结束或因等待理机,便
6、一直执行下去,直到正常结束或因等待某事件的发生而让出处理机。某事件的发生而让出处理机。 105.3 进程调度算法进程调度算法 2. 短进程优先调度算法短进程优先调度算法 q 短进程优先(短进程优先(SPF)调度算法,是指对短进程优)调度算法,是指对短进程优先调度的算法。该算法从就绪队列中选择一估计先调度的算法。该算法从就绪队列中选择一估计运行时间最短的进程,将处理机分配给它,使它运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行完成,直到正常结束或因等立即执行并一直执行完成,直到正常结束或因等待某事件的发生而让出处理机,再重新调度。待某事件的发生而让出处理机,再重新调度。 115.3
7、 进程调度算法进程调度算法 调度算法调度算法 进程情况进程情况进程名进程名A B C D E平均平均到达时间到达时间0 1 2 3 4 服务时间服务时间4 3 5 2 4FCFS( a )完成时间完成时间4 7 12 14 18周转时间周转时间4 6 10 11 149带权周转时间带权周转时间1 2 2 5.5 3.52.8SPF( b )完成时间完成时间4 9 18 6 13周转时间周转时间4 8 16 3 98带权周转时间带权周转时间1 2.67 3.1 1.5 2.252.1q周转时间周转时间=完成时间完成时间-达到时间达到时间q平均周转时间平均周转时间q带权周转时间带权周转时间135.
8、3 进程调度算法进程调度算法 3. 优先级调度算法优先级调度算法 q 该算法是一种常用的进程调度算法,它是指当发该算法是一种常用的进程调度算法,它是指当发生进程调度时,将生进程调度时,将CPU分配给就绪队列中优先分配给就绪队列中优先级最高的进程。该算法首要的问题就是系统必须级最高的进程。该算法首要的问题就是系统必须为进程指定一个优先级来表示该进程所享有的调为进程指定一个优先级来表示该进程所享有的调度优先权。度优先权。 145.3 进程调度算法进程调度算法 3.优先级调度算法优先级调度算法 为进程指定优先级的方法有两种,即静态优先级和动态优先级。为进程指定优先级的方法有两种,即静态优先级和动态优
9、先级。 q(1)静态优先级q静态优先级是在进程创建时确定的,且在进程的整个运行期间保持不变。确定进程静态优先级的依据有:q进程的类型。根据是系统进程还是用户进程,赋予不同的优先级。通常系统进程的优先级高于一般用户进程的优先级。q进程对资源的需求。如进程的估计运行时间、内存需求量、I/O设备的需求数量等,对这些资源要求少的进程赋予较高的优先级。q用户申请的优先级。这是由用户进程的紧迫程度以及用户所付出费用的多少来确定优先级的。q静态优先级调度算法虽然简单,系统开销小,但不能动态反映进程的特点,系统调度性差。在现代的操作系统中,大多采用动态优先级的调度算法。155.3 进程调度算法进程调度算法 3
10、. 优先级调度算法优先级调度算法 为进程指定优先级的方法有两种,即静态优先级为进程指定优先级的方法有两种,即静态优先级和动态优先级。和动态优先级。 q 动态优先级动态优先级q 动态优先级是指,在创建进程时所赋予的优先级动态优先级是指,在创建进程时所赋予的优先级,是可以随进程的执行或随其等待时间的增加而,是可以随进程的执行或随其等待时间的增加而改变的,以便获得更好的调度性能。改变的,以便获得更好的调度性能。q 例如,如果规定在就绪队列中的进程,其优先级例如,如果规定在就绪队列中的进程,其优先级随等待时间的增长以速率随等待时间的增长以速率a增加。增加。 165.3 进程调度算法进程调度算法 4.
11、时间片轮转调度算法时间片轮转调度算法 q 时间片轮转调度算法主要出现在分时操作系统中时间片轮转调度算法主要出现在分时操作系统中,该算法是将,该算法是将CPU的处理时间分成固定大小的的处理时间分成固定大小的时间片。时间片。q 如果就绪队列中的一个进程在被调度选中之后,如果就绪队列中的一个进程在被调度选中之后,在系统规定的时间片内没有运行完毕,那么该进在系统规定的时间片内没有运行完毕,那么该进程将被强迫释放处理机而插入就绪队列的末尾,程将被强迫释放处理机而插入就绪队列的末尾,等待下一次调度。同时,进程调度程序将会把等待下一次调度。同时,进程调度程序将会把CPU分配给就绪队列中第一个进程,使之投入分
12、配给就绪队列中第一个进程,使之投入运行。运行。 175.3 进程调度算法进程调度算法 4. 时间片轮转调度算法时间片轮转调度算法 时间片长短的确定原则是:既要保证系统各时间片长短的确定原则是:既要保证系统各个用户进程及时得到相应,又不要由于时间片太个用户进程及时得到相应,又不要由于时间片太短而增加调度的开销,降低系统效率。短而增加调度的开销,降低系统效率。 系统的响应时间和时间片的关系,可以表示系统的响应时间和时间片的关系,可以表示为:为:T=Nq,其中,其中T为系统的响应时间,为系统的响应时间,q为时间为时间片的大小,片的大小,N为就绪队列中进程的数目。为就绪队列中进程的数目。 时间片的选择
13、必须适当,通常为时间片的选择必须适当,通常为100ms。 185.3 进程调度算法进程调度算法 4. 时间片轮转调度算法时间片轮转调度算法 q 时间片的长短通常由以下因素决定:时间片的长短通常由以下因素决定:q (1)系统的响应时间。)系统的响应时间。q (2)就绪队列中进程的数目。)就绪队列中进程的数目。q (3)进程的转换时间。)进程的转换时间。q (4)计算机的处理能力,计算机的速度越高,)计算机的处理能力,计算机的速度越高,时间片就可越短。时间片就可越短。195.3 进程调度算法进程调度算法 5. 多级反馈队列调度算法多级反馈队列调度算法 q 多级反馈队列调度算法是时间片轮转调度算法与
14、多级反馈队列调度算法是时间片轮转调度算法与优先级调度算法的结合。优先级调度算法的结合。q 实行该算法时,系统将设置多个就绪队列,每个实行该算法时,系统将设置多个就绪队列,每个就绪队列具有不同的调度优先级,可以获得不同就绪队列具有不同的调度优先级,可以获得不同长度的时间片。从第一级就绪队列到最后一级就长度的时间片。从第一级就绪队列到最后一级就绪队列,调度优先级越来越低,所获得的时间片绪队列,调度优先级越来越低,所获得的时间片越来越长。越来越长。205.3 进程调度算法进程调度算法 5. 多级反馈队列调度算法多级反馈队列调度算法 215.3 进程调度算法进程调度算法 5. 多级反馈队列调度算法多级
15、反馈队列调度算法 具体的调度方法是:具体的调度方法是: 当一个新进程进入内存后,首先被插入到第一当一个新进程进入内存后,首先被插入到第一级就绪队列的末尾,按先来先服务原则等待调度。级就绪队列的末尾,按先来先服务原则等待调度。 系统调度时,总是从第一级就绪队列开始,仅当系统调度时,总是从第一级就绪队列开始,仅当第一级就绪队列为空时,才调度第二级就绪队列第一级就绪队列为空时,才调度第二级就绪队列中的进程;如此下去,只有前面中的进程;如此下去,只有前面n-1级就绪队列级就绪队列都为空时,才去调度最后第都为空时,才去调度最后第n级就绪队列中的进级就绪队列中的进程。程。225.3 进程调度算法进程调度算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件第5章 进程调度与死锁 教学 课件 进程 调度 死锁
限制150内