操作系统课件第3章调度与死锁.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《操作系统课件第3章调度与死锁.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课件 调度 死锁
- 资源描述:
-
1、调度与死锁调度与死锁内容提要内容提要调度的类型及其功能调度的类型及其功能调度的性能评价调度的性能评价常用的调度算法常用的调度算法死锁死锁调度的含义调度的含义调度就是选出待分派的作业或进程调度就是选出待分派的作业或进程处理机调度的主要目的是为了分配处理处理机调度的主要目的是为了分配处理机机调度的类型调度的类型高级调度:作业调度高级调度:作业调度中级调度:存储对换中级调度:存储对换低级调度:进程调度低级调度:进程调度进程的调度方式进程的调度方式非抢占方式非抢占方式抢占方式抢占方式进程调度的时机进程调度的时机现行进程完成或错误终止现行进程完成或错误终止现行进程提出现行进程提出I/OI/O请求,等待请
2、求,等待I/OI/O完成时完成时在进程通信中,执行中的进程执行了某在进程通信中,执行中的进程执行了某种原语操作,如种原语操作,如P P操作、阻塞原语时,操作、阻塞原语时,都可能引起进程调度都可能引起进程调度在分时系统,按照时间片轮转,分给进在分时系统,按照时间片轮转,分给进程的时间片用完时程的时间片用完时优先级调度时,有更高优先级进程变为优先级调度时,有更高优先级进程变为就绪时就绪时进程调度的主要功能进程调度的主要功能保存让权进程的现场保存让权进程的现场择优选出一个就绪进程择优选出一个就绪进程为选中进程恢复现场,令其投入运行为选中进程恢复现场,令其投入运行作业调度和进程调度的区别作业调度和进程
3、调度的区别作业调度是宏观调度,进程调度是微观作业调度是宏观调度,进程调度是微观调度调度作业调度为进程的活动做准备,进程调作业调度为进程的活动做准备,进程调度使进程真正活动起来度使进程真正活动起来作业调度执行次数较少,进程调度活动作业调度执行次数较少,进程调度活动频繁频繁作业调度可以不设,进程调度必不可少作业调度可以不设,进程调度必不可少仅有进程调度的调度队列模型仅有进程调度的调度队列模型就就 绪绪 队队 列列阻阻 塞塞 队队 列列CPU事件出现事件出现交互用户交互用户时间片完时间片完进程进程调度调度等待等待事件事件进程完成进程完成常用的调度性能评价标准常用的调度性能评价标准CPUCPU的利用率
4、的利用率系统吞吐量系统吞吐量周转时间周转时间响应时间响应时间就绪队列等待时间就绪队列等待时间周转时间周转时间周转时间是指从作业提交给系统开始,周转时间是指从作业提交给系统开始,到作业完成为止的时间到作业完成为止的时间通常把周转时间作为评价批处理系统性通常把周转时间作为评价批处理系统性能、选择作业调度方式与算法的准则能、选择作业调度方式与算法的准则平均周转时间与平均带权周转时间平均周转时间与平均带权周转时间平均周转时间可描述为:平均周转时间可描述为:通常把周转时间作为评价批处理系统性通常把周转时间作为评价批处理系统性能、选择作业调度方式与算法的准则能、选择作业调度方式与算法的准则常用调度算法常用
5、调度算法 对于不同的系统和系统目标,通常对于不同的系统和系统目标,通常采用不同的调度算法。目前存在很多调采用不同的调度算法。目前存在很多调度算法,有的适用于作业调度,有的适度算法,有的适用于作业调度,有的适用于进程调度,有的两者都适用。用于进程调度,有的两者都适用。先来先服务调度算法先来先服务调度算法 先来先服务(先来先服务(FCFSFCFS)算法的思想)算法的思想很简单:每次调度是从作业后备队列中很简单:每次调度是从作业后备队列中选择一个或多个最先进入该队列的作业,选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源,创将它们调入内存,为它们分配资源,创建进程,然后放入就绪队列
6、。建进程,然后放入就绪队列。FCFSFCFS算法示意图算法示意图作业作业T作业作业1作业作业2作业作业3012242730表示作业到达时间表示作业到达时间表示作业执行过程表示作业执行过程FCFSFCFS算法性能分析算法性能分析作业作业 到达时间到达时间 运行时间运行时间 开始时间开始时间 完成时间完成时间 周转时间周转时间 带权周转时间带权周转时间平均周转时间平均周转时间 T=26 平均带权周转时间平均带权周转时间 W=6.331 0 24 0 24 24 12 1 3 24 27 26 8.673 2 3 27 30 28 9.33FCFS的特征的特征较利于长作业或进程较利于长作业或进程有利
7、于占用有利于占用CPUCPU时间多的作业时间多的作业容易实现,但效率较低容易实现,但效率较低短作业(进程)优先调度算法短作业(进程)优先调度算法短作业短作业(SJF)(SJF)调度算法是从后备队列中选调度算法是从后备队列中选择一个或若干个估计运行时间最短的作择一个或若干个估计运行时间最短的作业,将它们调入内存运行业,将它们调入内存运行短进程短进程(SPF)(SPF)调度算法是从就绪队列中选调度算法是从就绪队列中选出一估计运行时间最短的进程,将处理出一估计运行时间最短的进程,将处理机分配给它,使它立即执行机分配给它,使它立即执行SJ(P)FSJ(P)F调度算法的缺点调度算法的缺点对长作业非常不利
8、对长作业非常不利完全未考虑作业的紧迫程度完全未考虑作业的紧迫程度由于作业(进程)的长短,只是根据用由于作业(进程)的长短,只是根据用户估计的时间而定,致使算法不一定能户估计的时间而定,致使算法不一定能真正做到短作业优先调度真正做到短作业优先调度时间片轮转调度算法时间片轮转调度算法 系统使每个进程依次按时间片轮流系统使每个进程依次按时间片轮流执行。在通常的轮转法中,系统将所有执行。在通常的轮转法中,系统将所有就绪进程按先来先服务原则,排成一个就绪进程按先来先服务原则,排成一个队列。每次调度时,把队列。每次调度时,把CPUCPU分配给队首分配给队首进程,并对其执行一个时间片。时间片进程,并对其执行
9、一个时间片。时间片的大小从几的大小从几msms到几百到几百msms。时间片用完时,停止该进程的执行,时间片用完时,停止该进程的执行,并将其送入就绪队列的末尾。并将其送入就绪队列的末尾。影响时间片长短的因素影响时间片长短的因素系统的响应时间系统的响应时间就绪队列进程的数目就绪队列进程的数目进程的转换时间进程的转换时间CPUCPU运行指令速度运行指令速度优先权调度算法优先权调度算法 为照顾到紧迫型作业进入到系统后为照顾到紧迫型作业进入到系统后就能获得优先处理,引入最高优先权调就能获得优先处理,引入最高优先权调度算法。当该算法用于作业调度时,系度算法。当该算法用于作业调度时,系统将从后备队列中选择若
10、干优先权最高统将从后备队列中选择若干优先权最高的作业调入内存;当算法用于进程调度的作业调入内存;当算法用于进程调度时,把处理机分配给就绪队列中优先权时,把处理机分配给就绪队列中优先权最高的进程。最高的进程。算法分类算法分类非抢占式优先权算法非抢占式优先权算法抢占式优先权算法抢占式优先权算法优先权的类型优先权的类型静态优先权。确定依据为:进程类型、静态优先权。确定依据为:进程类型、进程对资源的需求、用户要求进程对资源的需求、用户要求动态优先权动态优先权多级队列调度多级队列调度 多级队列调度是根据作业的性质或多级队列调度是根据作业的性质或类型不同,将就绪队列分成若干个子队类型不同,将就绪队列分成若
11、干个子队列,每个作业固定属于某个队列。每个列,每个作业固定属于某个队列。每个队列采用一种算法,不同队列可采用不队列采用一种算法,不同队列可采用不同的调度算法。同的调度算法。多级反馈队列调度算法多级反馈队列调度算法 多级反馈队列调度算法不必事先了多级反馈队列调度算法不必事先了解各进程所需的执行时间,而且还可满解各进程所需的执行时间,而且还可满足各种类型进程的需要,是目前公认的足各种类型进程的需要,是目前公认的比较好的进程调度算法。比较好的进程调度算法。多级反馈队列中就绪队列种类多级反馈队列中就绪队列种类刚刚被创建的进程等待进程调度刚刚被创建的进程等待进程调度已经被调度执行过,但还没有执行完,已经
12、被调度执行过,但还没有执行完,等待下一次调度等待下一次调度正在执行的进程还未用完时间片,因请正在执行的进程还未用完时间片,因请求求I/OI/O,等待,等待I/OI/O完成被迫放弃完成被迫放弃CPUCPU,当,当等待原因解除后,进入就绪队列等待运等待原因解除后,进入就绪队列等待运行行多级反馈队列调度的实施过程多级反馈队列调度的实施过程系统设置多个就绪队列,进程在其生命系统设置多个就绪队列,进程在其生命期内可能在多个队列中存在期内可能在多个队列中存在各个队列赋予不同的优先级。第一个队各个队列赋予不同的优先级。第一个队列的优先级最高,其余各队列的优先权列的优先级最高,其余各队列的优先权逐个降低逐个降
13、低各个队列中进程执行的时间片大小也各各个队列中进程执行的时间片大小也各不相同,在优先权越高的队列中,每个不相同,在优先权越高的队列中,每个进程的执行时间片就越小进程的执行时间片就越小多级反馈队列调度的实施过程多级反馈队列调度的实施过程新进程进入内存后,排在最高优先级队新进程进入内存后,排在最高优先级队列的末尾,按列的末尾,按FCFSFCFS原则等待调度。该进原则等待调度。该进程执行时,如果它在一个时间片结束时程执行时,如果它在一个时间片结束时尚未完成,调度程序便将该进程转入下尚未完成,调度程序便将该进程转入下一个较低优先级队列的队尾一个较低优先级队列的队尾当一个长进程从第一队列依次降到第当一个
14、长进程从第一队列依次降到第n n队列后,在第队列后,在第n n队列中便采取按时间片队列中便采取按时间片轮转的方式运行轮转的方式运行多级反馈队列调度的实施过程多级反馈队列调度的实施过程调度时,总是先调度优先级高的队列。调度时,总是先调度优先级高的队列。仅当该队列空时,才调度次高优先级队仅当该队列空时,才调度次高优先级队列,以此类推,第列,以此类推,第n n个队列进程被调度个队列进程被调度时,必须是前时,必须是前n-1n-1个队列为空个队列为空如果处理机正在第如果处理机正在第i i个队列中为某进程个队列中为某进程服务时,又有新进程进入优先权较高的服务时,又有新进程进入优先权较高的队列,则此时新进程
15、将抢占正在运行进队列,则此时新进程将抢占正在运行进程的处理机,由调度程序把正在运行的程的处理机,由调度程序把正在运行的进程放回到第进程放回到第i i个队列的末尾,把处理个队列的末尾,把处理机分配给新到的进程机分配给新到的进程多级反馈队列调度算法示意图多级反馈队列调度算法示意图就绪队列就绪队列1就绪队列就绪队列2就绪队列就绪队列3就绪队列就绪队列4至至CPU至至CPU至至CPU至至CPUS1S2S3死锁死锁 在多道程序系统中,虽可通过进程在多道程序系统中,虽可通过进程的并发执行改善系统的资源利用率和提的并发执行改善系统的资源利用率和提高处理能力,但也可能引发一种危险高处理能力,但也可能引发一种危
展开阅读全文