OS复习——概论习题

OS复习——概论习题

1. 设一计算机系统有输入机一台、打印机两台,现有二道程序同时投入运行,且程序B先开始运行,程序A后运行。程序A的运行轨迹为:计算 50ms,打印信息80ms,再计算50ms ,打印信息100ms,结束。程序B运行的轨迹为:计算50ms,输入数据 60 ms,再计算 100ms,结束。要求:
(1)用图画出这二道程序并发执行时的工作情况。
(2)说明在二道程序运行时,CPU 有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?
(3)程序 A、B 运行时有无等待现象?在什么时候会发生等待现象?

本题主要考察的是多道程序系统的工作方式

(1)运行时的工作图如下所示

在这里插入图片描述

(2)由工作图可以看出,在100ms到110ms之间CPU处于空闲状态,原因是A和B都处于I/O阶段,无法使用CPU;若无其余程序参与,则260ms到360ms之间CPU也处于空闲状态,原因是A和B程序的计算任务已经结束。

在答题时,不要遗漏260ms到360ms这段时间,因为按照题意,两道程序运行时,显然这两个进程的完整运行时间应该是0~360ms。

(3)程序A在0ms-50ms和180ms-210ms间处于等待,原因是B占用CPU进行计算,而A需要CPU进行后续计算。

在答题时,不要遗漏0ms到50ms这段时间,因为按照题意,程序A在0ms时就投入运行,所以0ms到50ms也算程序A运行时的等待现象。

2. 在单CPU和两台I/O设备(I1,I2)的多道程序设计环境下,同时投入3个作业J1,J2和J3运行,其对CPU和I/O设备使用的顺序与时间如下:
J1:I2(30ms)→CPU(10ms)→I1(30ms)→CPU(10ms)→I2(20ms)
J2:I1(20ms)→CPU(20ms)→I2(40ms)
J3:CPU(30ms)→I1(20ms)→CPU(10ms)→I1(10ms)
假定CPU和I/O设备能够并行,I1和I2能够并行。作业优先级J1<J2<J3,高优先级作业可抢占低优先级作业的CPU,但不能抢占I/O设备。
(1)分别求出 3 个作业的 turnaround 时间(wall-clock 时间)。
(2)计算 CPU 的利用率(计算时间/(计算时间+空闲时间))
(3)计算 I/O 设备的利用率(工作时间/(工作时间+空间时间))

本题的考察重点和第1题类似,只要画出三道程序并发执行的工作情况,鉴于糟糕的画图水平,这里就不画了~(其中默认工作时间和空闲时间之和是所有作业完成的时间)

(1)J1周转时间是130ms,J2周转时间是90ms,J3周转时间是70ms;

(2)CPU利用率为80ms/130ms=61.54%;

(3)I1设备利用率为80ms/130ms=61.54%;I2设备利用率为90ms/130ms=69.23%。

为80ms/130ms=61.54%;I2设备利用率为90ms/130ms=69.23%。

以上部分内容引自课件,如有侵权,请及时联系我删除!

  • 8
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值