操作系统第四单元答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四单元
3.系统中有5个资源被4个进程所共享,如果每个进程最多需要2个这种资源,试问系统是否会产生死锁。
答:不会,因为资源数大于进程个数,5个资源4个进程共享,至少有1个进程能得到2个资源得以运行,运行完后退出并释放所占有的资源,剩下的进程便能得到所需要的资源得以运行。
4.计算机系统有8台磁带机,有N个进程竞争使用,每个进程最多需要3台,问:当为多少时,系统没有死锁的危险?
答:当N=1或2或3时,系统没有死锁的危险,因为当N<4时,总是能保证有进程能得到3个资源得以运行。当N大于等于4时,不能保证至少有一个进程能得到需要的资源个数。
5.假设系统有5个进程,他们到达的时间和服务时间如表:4-8所示。新进程(没有运行过)与老进程(运行过的进程)的条件相同是,假定系统选新进程运行。
若按FCFS、时间片轮转法(时间片q=1)、短进程优先(SPN)、最短剩余时间优先(SRT,时间片q=1)、响应比高者优先(HRRN)及多级反馈队列(MFQ,第1个队列的时间片为1,第i(i>1))个队列的时间片q=2(i-1)算法进行CPU调度,请给出各个进程的完成时间、周转时间、带权周转时间,及所有进程的平均周转时间和平均带权周转时间。
表4-8 进程情况
进程名到达时间服务时间
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2
(1)按FCFS调度算法:
进程名完成时间周转时间带权周转时间
A 3 3 1
B 9 7 1.17
C 13 9 2.25
D 18 12 2.4
E 20 12 6
平均周转时间:T=(3+7+9+12+12)/5=8.6
带权周转时间:W=(1+1.17+2.25+2.4+6)/5=2.56
(2)按时间片轮转法(时间片q=1)算法:
进程名完成时间周转时间带权周转时间
A 4 4 1
B 18 16 2.67
C 17 13 3.25
D 20 14 2.8
E 15 7 3.5
平均周转时间:T=(4+16+13+14+7)/5=10.8
带权周转时间:W=(1+2.67+3.25+2.8+3.5)=2.644
(3)短进程优先运算法则:
进程名完成时间周转时间带权周转时间
A 3 3 1
B 9 7 1.17
C 15 11 2.75
D 20 14 2.8
E 11 3 1.5
平均周转时间:T=(3+7+11+14+3)/5=7.6
带权周转时间:W=(1+1.17+2.75+2.8+1.5)=1.84
(4)最短剩余时间优先算法:
进程名完成时间周转时间带权周转时间
A 3 3 1
B 20 18 3
C 8 4 1
D 15 9 1.8
E 10 2 1
平均周转时间:T=(3+18+4+9+2)/5=7.2
带权周转时间:W=(1+3+1+1.8+1)/5=1.56
(5)最短响应比优先算法:
进程名完成时间周转时间带权周转时间
A 3 3 1
B 9 7 1.17
C 13 9 2.25
D 20 14 2.8
E 15 7 3.5
平均周转时间:T=(3+7+9+14+7)/5=8
带权周转时间:W=(1+1.17+2.25+2.8+3.5)/5=2.14
6.设系统中有5个进程P1P2P3P4和P5,有三种类型的资源ABC,其中A的数量是7,B的数量是5,C的数量是20,T0时刻系统状态如表4-9所示:
(1)计算每个进程还可能需要的资源,并填入表的“任然需要资源数”栏目中。
(2)T0时刻系统是否处于安全状态?为什么?
答:处于安全状态,因为所剩的资源分配给P4或P5时,他们的进程得以执行,执行完以后再释放所占用资源,后面的进程能获得自己所需要的最大资源而执行。
(3)如果T0时刻进程P2又有新的资源请求(0,3,4),是否实施资源分配?为什么?
答:不能,因为C资源只剩下3个了,而P2发送了4个请求,所以不能分配。
(4)如果T0时刻P4又有新请求的资源分配(2,0,1),是否实施资源分配?为什么?
答:能,因为P4要执行需要请求分配(2,2,1),现在请求分配(2,0,1),需要再请求分配(0,2,0),而资源剩余情况为(2,3,3),能满足最大需求量,所以能实施分配。
(5)在(4)基础上,若进程P1又有新资源请求(0,2,0),是否实施资源分配?为什么?
答:不能,因为即使P1请求成功也不能得以执行,而在(4)情况下由P4申请成功则能得到执行,所以,不能实施分配。