第3章操作系统精选文档.ppt
第3章操作系统课件本讲稿第一页,共十三页23在在单单处处理理器器的的多多进进程程系系统统中中,进进程程什什么么时时候候占占用用处处理器和能占用多长时间,取决于理器和能占用多长时间,取决于_。A.进程相应的程序段的长度进程相应的程序段的长度B.进程总共需要运行时间多少进程总共需要运行时间多少C.进程自身和进程调度策略进程自身和进程调度策略D.进程完成什么功能进程完成什么功能4一一种种既既利利于于短短小小作作业业又又兼兼顾顾到到长长作作业业的的作作业业调调度度算算法法是是_。A.先来先服务先来先服务 B.轮转轮转C.最高响应比最高响应比 D.均衡调度均衡调度CC本讲稿第二页,共十三页35下列因素中,下列因素中,不一定是引起进程调度的因素。不一定是引起进程调度的因素。A一个进程运行完毕一个进程运行完毕B运行进程被阻塞运行进程被阻塞C一个高优先级进程被创建一个高优先级进程被创建D实时调度中,一个紧迫的任务到来实时调度中,一个紧迫的任务到来6若进程若进程P一旦被唤醒就能投入运行,则系统可能是一旦被唤醒就能投入运行,则系统可能是 。A分时系统,进程分时系统,进程P的优先级最高的优先级最高B抢占式调度方式,就绪队列上的所有进程的优先级抢占式调度方式,就绪队列上的所有进程的优先级皆比皆比P低低C就绪队列为空队列就绪队列为空队列D抢占式调度方式,抢占式调度方式,P的优先级高于当前运行的进程的优先级高于当前运行的进程CD本讲稿第三页,共十三页47在分时系统中,若当前运行的进程连续获得了两个时间在分时系统中,若当前运行的进程连续获得了两个时间片,原因可能是片,原因可能是 。A该进程的优先级最高该进程的优先级最高B就绪队列为空就绪队列为空C该进程最早进入就绪队列该进程最早进入就绪队列D该进程是一个短进程该进程是一个短进程8下列进程调度算法中,下列进程调度算法中,_可能会出现进程长期得不可能会出现进程长期得不到调度的情况。到调度的情况。A静态优先权法静态优先权法B抢占式调度中采用动态优先权算法抢占式调度中采用动态优先权算法C分时处理中的时间片轮转调度算法分时处理中的时间片轮转调度算法D非抢占式调度中采用非抢占式调度中采用FIFO算法算法BA本讲稿第四页,共十三页5 9在采用动态优先权的调度算法中,如果所有进程都具有相在采用动态优先权的调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和同优先权初值,则此时的优先权调度算法实际上和_调度调度算法相同。算法相同。A先来先服务先来先服务B短作业优先短作业优先C时间片轮转时间片轮转D长作业优先长作业优先10.设在内存中有设在内存中有P1,P2两道程序,并按照两道程序,并按照P1,P2的次序运行,其的次序运行,其内部计算和内部计算和I/O操作的时间分别如下:操作的时间分别如下:P1:先计算先计算60ms,然后,然后I/O80ms,最后再计算,最后再计算20msP2:先计算先计算120ms,然后,然后I/O40ms,最后再计算,最后再计算40ms调度程序的执行时间不计,在多道批处理系统中,完成这两道程调度程序的执行时间不计,在多道批处理系统中,完成这两道程序比单道批处理系统节约的时间是序比单道批处理系统节约的时间是_.A.100msB.120msC.160msD.200msAA本讲稿第五页,共十三页3.7.2 死锁的解除死锁的解除常采用的两种方法是:常采用的两种方法是:剥夺资源法和撤消进程法剥夺资源法和撤消进程法剥夺资源剥夺资源 撤消进程撤消进程 撤消全部死锁进程撤消全部死锁进程 按某个顺序逐个撤消死锁进程,直至使死按某个顺序逐个撤消死锁进程,直至使死 锁状态解除为止。锁状态解除为止。从其它进程从其它进程剥夺足够资源给死锁进程,以解除剥夺足够资源给死锁进程,以解除死锁状态。死锁状态。(教科书教科书)或者:或者:剥夺死锁进程占用的资源,但并不撤消它,直到死剥夺死锁进程占用的资源,但并不撤消它,直到死锁解除。锁解除。一个资源被剥夺的进程必须回到前面获得这个资源的地方。一个资源被剥夺的进程必须回到前面获得这个资源的地方。另外还有:让死锁进程回退到以前的检查点另外还有:让死锁进程回退到以前的检查点(checkpoint),以解,以解除死锁等方法。除死锁等方法。本讲稿第六页,共十三页练习练习1:(1)3个进程共享个进程共享4个同种类型的资源,每个进程最大需要个同种类型的资源,每个进程最大需要2个个资源,请问该系统是否会因为竞争该资源而死锁?资源,请问该系统是否会因为竞争该资源而死锁?解:该系统不会因为竞争该资源而死锁。因为必有解:该系统不会因为竞争该资源而死锁。因为必有1个进程可获得个进程可获得2个资个资源,顺利完成其任务,其后可释放出占用的源,顺利完成其任务,其后可释放出占用的2个资源给其他进程个资源给其他进程使用,使他们顺利完成。使用,使他们顺利完成。本讲稿第七页,共十三页练习练习1:(2)n个进程共享个进程共享m个同类资源,若每个进程都需要用该类资个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于源,而且各进程对该类资源的最大需求量之和小于m+n,说明该系统不,说明该系统不会因竞争该类资源而阻塞。会因竞争该类资源而阻塞。解:用解:用Maxi、Needi和和Allocationi分别表示第分别表示第i个进程对该类资源的最大个进程对该类资源的最大需求量,需求量以及已分配的量,根据题意它们满足下述条件:需求量,需求量以及已分配的量,根据题意它们满足下述条件:本讲稿第八页,共十三页若系统已因竞争该资源而进入死锁状态,则意味着已有一个以上的进若系统已因竞争该资源而进入死锁状态,则意味着已有一个以上的进程因申请不到该类资源而无限阻塞,而程因申请不到该类资源而无限阻塞,而m个资源肯定已全部分配出去,个资源肯定已全部分配出去,即:即:这样,至少必须存在这样,至少必须存在1个进程,其个进程,其Needi0,这与题意不符,所以该,这与题意不符,所以该系统不会因竞争该类资源而进入死锁状态。系统不会因竞争该类资源而进入死锁状态。因此:因此:即:即:本讲稿第九页,共十三页(3)在()在(2)中,如果没有)中,如果没有“每个进程都需要用该类资源每个进程都需要用该类资源”的限的限制,情况又如何?制,情况又如何?解:此时系统可能会发生死锁。假设解:此时系统可能会发生死锁。假设n=4,m=3,P1的的Max为为0,而,而其余其余3个进程的个进程的Max都为都为2,则仍然满足最大需求量之和小于,则仍然满足最大需求量之和小于m+n的要的要求,当除了求,当除了P1以外的其余以外的其余3个进程各得到个进程各得到1个资源时,这个资源时,这3个进程就可个进程就可能进入死锁状态。能进入死锁状态。本讲稿第十页,共十三页练习练习2:在银行家算法中,若出现下面的资源分配情况:在银行家算法中,若出现下面的资源分配情况:Allocation A B C DNeed A B C DAvailable A B C DP0P1P2P3P40 0 3 21 0 0 0 1 3 5 4 0 0 3 2 0 0 1 40 0 1 21 6 5 0 2 3 5 6 0 6 5 2 0 6 5 61 6 2 2 试问试问:(1)该状态是否安全?)该状态是否安全?(2)当进程)当进程P2提出请求提出请求Request(1,2,2,2)后,系统能否将资源分配给它?)后,系统能否将资源分配给它?(3)如果系统立即满足)如果系统立即满足P2的上述请求,则系统是否立即进入死锁状态?的上述请求,则系统是否立即进入死锁状态?本讲稿第十一页,共十三页解解:(:(1)利用安全性检查算法对上面的状态进行分析,可找到一个)利用安全性检查算法对上面的状态进行分析,可找到一个安全序列安全序列P0,P1,P3,P4,P2,故系统是安全的。,故系统是安全的。(2)P2发出请求向量后,系统按银行家算法进行检查,在进行试分配发出请求向量后,系统按银行家算法进行检查,在进行试分配后,进行安全性检查时发现:此时对于所有进程,后,进行安全性检查时发现:此时对于所有进程,Available不能满足不能满足任何进程的请求,故系统不进行资源分配。任何进程的请求,故系统不进行资源分配。(3)系统立即满足进程)系统立即满足进程P2的请求后,并没有马上进入死锁状态。因为:的请求后,并没有马上进入死锁状态。因为:此时其他进程并没有申请新的资源,并因得不到资源而进入阻塞状态;只有此时其他进程并没有申请新的资源,并因得不到资源而进入阻塞状态;只有当上述的其他进程提出新的请求,并导致所有没有执行完的多个进程因得不当上述的其他进程提出新的请求,并导致所有没有执行完的多个进程因得不到资源而阻塞并形成循环等待链时,系统才进入死锁状态。到资源而阻塞并形成循环等待链时,系统才进入死锁状态。本讲稿第十二页,共十三页