操作系统 第四章 课后题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章
1.为什么说多级反馈队列调度算法能较好地满足各类用户的需要(来自百度):
答案一:
多级反馈队列调度算法能较好地满足各种类型用户的需要。
对终端型作业用户而言,由于他们所提交的大多属于交互型作业,作业通常比较短小,系统只要能使这些作业在第1级队列所规定的时间片内完成,便可使终端型作业用户感到满意;对于短批处理作业用户而言,他们的作业开始时像终端型作业一样,如果仅在第1级队列中执行一个时间片即可完成,便可以获得与终端型作业一样的响应时间,对于稍长的作业,通常也只需要在第2级队列和第3级队列中各执行一个时间片即可完成,其周转时间仍然较短;对于长批处理作业用户而言,它们的长作业将依次在第1,2,…,直到第n级队列中运行,然后再按时间片轮转方式运行,用户不必担心其作业长期得不到处理。
答案二:(惠州学院操作系统课后题)与答案一基本相似,可看做精简版。
答:(1)终端型作业用户提交的作业大多属于较小的交互型作业,系统只要使这些作业在第一队列规定的时间片内完成,终端作业用户就会感到满足。
(2)短批处理作业用户,开始时像终端型作业一样,如果在第一队列中执行一个时间片段即可完成,便可获得与终端作业一样的响应时间。
对于稍长作业,通常只需在第二和第三队列各执行一时间片即可完成,其周转时间仍然较短。
(3)长批处理作业,它将依次在第1 ,2 ,…,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。
所以,多级反馈队列调度算法能满足多用户需求。
2.
分别对以上两个进程集合,计算使用先来先服务(FCFS)、时间片轮转法(时间片q=1)、短进程优先(SPN)、最短剩余时间优先(SRT,时间片q=1)、响应比高者优先(HRRN)及多级反馈队列(MFQ,第1个队列的时间片为1,第i(i<1)个队列的时间片q=2(i-1))算法进行CPU调度,请给出各进程的完成时间、周转时间、带权周转时间,及所有进程的平均周转时间和平均带权周转时间。
3.考虑系统中出现的情况:
(1)计算每个进程还可能需要的资源,并填入表的“仍然需要”栏目中。
(2)系统当前是否处于安全状态?为什么?
(3)系统当前是否死锁?为什么?
(4)如果进程P 3又有新的请求(0,2,0,0),系统是否可以安全地接受此请求?
解答:(1)
(2)系统出于安全状态,存在安全序列<P1,P4,P5,P2,P3>
(3)不会发生死锁,因为存在安全序列,进程按此顺序执行可保证不死锁。
(4)不可以接受新的请求,因为系统可用资源不足。
(R2只有1个,而新请求P3需要2个)
4.考虑有一个共有150个存储单元的系统,已经如下分配给三个进程:
试确定下面新的请求是否安全。
如果安全,请给出安全序列。
(1)第4个进程到达,它最多需要60个存储单元,最初需要25个单元。
(2)第4个进程到达,它最多需要60个存储单元,最初需要35个单元。
解答:
(1)
5.有3个进程共享4个资源,一次只能请求或释放一个资源,每个进程最大需要2个资源,试说明系统不会发生死锁。
解答:
根据抽屉原理,3个进程分4个资源,总有1个进程得到2个资源,该进程将满足最大需求而运行完毕,它释放资源后,系统中剩余2个进程享用4个资源,这2个进程也将满足最大需求,所以系统不会发生死锁。
6.N 个进程共享M 个资源,一次只能请求或释放一个资源,每个进程最大需要资源数不超过M ,并且所有进程最大需求的总和小于(M+N),试说明系统不会发生死锁。
解答:方法一:
根据抽屉原理,3个进程分4个资源,总有1个进程得到2个资源,该进程将满足最大需求而运行完毕,它释放资源后,系统中剩余2个进程享用4个资源,这2个进程也将满足最大需求,所以系统不会发生死锁。
反证法:
设该系统发生死锁,即设k 个线程用尽了M 个资源,但都没达到其最大需求。
已经
满足了需求的进程数为N –K.
Xi 为线程i 所占用的资源数,Yi 为线程i 还需要的资源数。
Yi > =1 , 形成死锁。
X1 + X2 + X3 + X4 + ……+ Xk = M
(X1 + X2 + ……+ Xk)+ (Y1 + Y2 + ……+ Yk)< M + N –(N –k)
Y1 + Y2 + ……+ Yk < k
若Yi > = 1 , Y1 + Y2 + ……+ Yk >= k, 矛盾,即该系统不可能发生死锁。
方法二:
(1)进程P1,P2,P3按顺序分别申请一个资源,这时系统中还剩一个资源。
然后P1得到剩下的那一个资源,运行完毕再释放掉一个资源,这时系统中还是有一个剩余的资源,接下来进程P2得到一个资源,运行完毕后释放掉一个资源,最后P3得到P2释放的一个资源得以运行。
安全序列<P1,P2,P3>,所以系统不会发生死锁。
(2)进程Pi, 所需的资源数为Si 。
由题知M ≧1,Si ≦M
在N 个进程中每次让所需资源最小的进程Pmin(i)运行(每次申请一个资源),它所需的资源数为Smin(i),运行完后释放一个资源,此时系统中剩余的资源为M-Smin(i)+1个。
Smin(i+1)为系统中进程所需的第二小的资源数。
只要满足公式M-Smin(i)+1≧Smin(i+1)系统就不会发生死锁
要使M-Smin(i)+1≧Smin(i+1)
只需M+1≧Smin(i+1)+ Smin(i)
只需M+1≧2Smin(i) (放缩Smin(i+1)>Smin(i))
只需Smin(i)≦(M+1)/2
因为M ≧1 所以2M≧M+1 即M≧(M+1)/2 所以Smin(i)≦(M+1)/2成立
所以系统不会发生死锁
(资料素材和资料部分来自网络,供参考。
可复制、编制,期待你的好评与关注)。