【中国海洋大学】操作系统随堂测试3整理

【中国海洋大学】操作系统随堂测试3整理

1. 避免死锁的著名算法是() A.先入先出法 B.优先级算法 C.高响应比优先调度算法 D.银行家算法

答:D.银行家算法

2. 资源的有序分配在解决死锁中属于哪种方法() A.预防死锁 B.避免死锁 C.检测死锁 D.解除死锁

答:A.预防死锁

资源的有序分配能够破坏循环等待,进而预防死锁。

3. 产生死锁的四个必要条件是:互斥、()、不可抢占和循环等待。 A.请求与阻塞 B.请求与保持 C.请求与释放 D.释放与阻塞

答:B.请求与保持

4. 当进程数大于资源数时,进程竞争资源()会产生死锁。 A.一定 B.不一定 C.不可能

答:B.不一定

有可能可以通过调配资源,向各个进程分配资源,以避免死锁的发生。

5. 同时考虑等待时间和服务时间的作业调度算法是() A.先进先出算法 B.短作业优先算法 C.高响应比优先调度算法 D.轮询调度

答:C.高响应比优先调度算法

  • 先进先出算法考虑等待时间
  • 短作业优先算法考虑服务时间
  • 高响应比优先调度算法同时考虑等待时间和服务时间
  • 轮询调度:每个人轮流获得相等的份额,因此既不考虑等待时间,也不考虑服务时间

6. 作业运行的三个阶段分别是:收容阶段、()和完成阶段,与此对应的三种状态为()、运行状态和完成状态,其中作业被选中建立进程进入就绪队列时,处于()状态/阶段。

答:运行阶段 后备状态 运行

7. 带权周转时间=()时间+要求服务时间/(),带权周转时间()1(不大于/不小于)。

答:等待 要求服务时间 不小于

在这里插入图片描述

8. 轮转调度算法时间片大小主要取()。

答:略大于一次典型交互所需时间

e.g.

进程名ABCD
到达时间0123
服务时间3052510
RR Q=5完成时间70106535
RR Q=5周转时间7096332
RR Q=5带权周转时间2.31.82.553.2
RR Q=10完成时间65157035
RR Q=10周转时间65146832
RR Q=10带权周转时间2.22.82.753.2

周转时间=完成时间-到达时间

带权周转时间=周转时间/服务时间

对于时间片Q=10可以算出各进程的完成时间:

01015253545556570
ABCDACAC

9. 某进程的到达时间是2,服务时间是5,完成时间是17,其周转时间为(),带权周转时间为()。

答:15;3

周转时间 = 完成时间 − 到达时间 周转时间=完成时间-到达时间 周转时间=完成时间到达时间
带权周转时间 = 周转时间 服务时间 + 1 = 15 5 = 3 带权周转时间=\frac{周转时间}{服务时间}+1=\frac{15}{5}=3 带权周转时间=服务时间周转时间+1=515=3

10. 在分时系统中,用户1有4个进程A,B,C,D,而用户2有一个进程E,用户1支付的服务费是用户2的2倍,根据公平分享调度算法,处理机执行的调度序列应该是:A,B,(),C,(),E,…

答:E; D

根据支付的服务费用,用户1每执行2个进程,用户2执行1个进程。

11.简答题:已知以下进程状态,请根据保证调度算法,给出最优先的调度进程。

在这里插入图片描述
答:

∑ 服务时间 = 50 \sum{服务时间}=50 服务时间=50(整个系统的运行时间)

对于A-E:前10s 每人分得2s 后40s 每人分得4s 2+4=6s

对于F-J:后40s 每人分得4s

(相当于算出来每个进程平均应该分得多少运行时间)

计算每个进程的权重:(看看哪个进程用的占平均时间的比例低)

  • A: 3 6 = 0.5 \frac{3}{6}=0.5 63=0.5
  • B: 5 6 = 0.83 \frac{5}{6}=0.83 65=0.83
  • C: 7 6 = 1.17 \frac{7}{6}=1.17 67=1.17
  • D: 4 6 = 0.66 \frac{4}{6}=0.66 64=0.66
  • E: 8 6 = 1.33 \frac{8}{6}=1.33 68=1.33
  • F: 2 4 = 0.5 \frac{2}{4}=0.5 42=0.5
  • G: 6 4 = 1.5 \frac{6}{4}=1.5 46=1.5
  • H: 3 4 = 0.75 \frac{3}{4}=0.75 43=0.75
  • I: 5 4 = 1.25 \frac{5}{4}=1.25 45=1.25
  • J: 7 4 = 1.75 \frac{7}{4}=1.75 47=1.75

所以最优先的应当是A或F。

12. 简答题:检测下面两张资源分配图是否存在死锁,若有标注死锁进程,若不存在,请给出安全序列。

在这里插入图片描述

答:第一张图为死锁进程
第二张图存在安全序列:P1->P3->P2

对于第二张图:首先P1拿到了所有需要的资源,则可以执行并释放资源,这时R2中空出来的资源可以给P3,P3拿到了所有的资源并释放,则R3中的资源可以给P2,R1中的资源由于P1执行完毕也可以分配给P2,故P2可以执行。

【注意】不能以是否存在环形结构作为判断死锁的依据。

13. 简答题:(1)请问,O1,O2和O3应该属于1,2,3,4哪个区域?(2)请问,O1O3和O2O3区间的点应该属于1,2,3,4哪个区域?

在这里插入图片描述
答:
(1)O1: ① O2: ③ O3: ②
(2)O1O3: ① O2O3:③

各区域代表的含义:

  • 两块空白的三角形:资源已经能够满足P或Q其中一个的要求,此时执行完一个进程后,释放资源后可以满足另一个进程的需要。因此两块区域代表可以正常执行进程的情况。
  • ④:此时为死锁。既不能向上满足Q的资源需求,也不能向右满足P的资源需求。
  • ②:此时无论P还是Q申请资源,均可以向其分配资源。向Q分配资源后进入①,向P分配资源后进入③。
  • ①③:对于①,只有通过向Q分配足够多的资源,满足Q的执行,才能不造成死锁。③与其相反。

14. 计算题:系统状态S如下表,A,B,C,D四类资源还剩1,5,2,0,目前该状态是否安全?

在这里插入图片描述
答:该状态安全。安全序列为:P0->P3->P2->P1->P4(假设永远从最上方开始遍历)

PAllocationMaxNeed
P00,0,1,20,0,1,20,0,0,0
P11,0,0,01,7,5,00,7,5,0
P21,1,5,42,3,5,61,2,0,2
P30,6,3,20,6,5,20,0,2,0
P40,0,1,10,6,5,60,6,4,5

假设此处的遍历顺序为:永远从最上方开始遍历

PWorkAllocationNeedWork + AllocationF
P01,5,2,00,0,1,20,0,0,01,5,3,2True
P31,5,3,20,6,3,20,0,2,01,11,6,4True
P21,11,6,41,1,5,41,2,0,22,12,11,8True
P12,12,11,81,0,0,00,7,5,03,12,11,8True
P43,12,11,80,0,1,10,6,4,53,12,12,9True

【答题模板】先说是否安全 如果安全的话给出执行顺序。
再列表分析
表格模板:

PWorkAllocationNeedWork+AllocationF
进程序号当前可供使用的资源数已经分配给该进程的资源数仍需的资源数下一个进程可用的资源数是否为安全状态
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值