北航操作系统课程-第二次作业-操作系统引论2
北航操作系统课程-第二次作业-操作系统引论2
北京航空航天大学计算机学院-2020春操作系统课程
题目作者为北航计算机学院操作系统课程组,答案为博主原创。水平有限,无法保证作答正确性,如有错误敬请批评指正。部分作答源自百度谷歌等其他资料,如有侵权联系删除
1 设一计算机系统有输入机一台、打印机两台,现有二道程序同时投入运行,且程序B先开始运行,程序A后运行。程序A的运行轨迹为:计算50ms,打印信息80ms,再计算50ms ,打印信息100ms,结束。程序B运行的轨迹为:计算50ms,输入数据60ms,再计算100ms,结束。要求:
- 用图画出这二道程序并发执行时的工作情况。
- 说明在二道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?
- 程序A、B运行时有无等待现象?在什么时候会发生等待现象?
二道程序的执行过程如图所示:
由图像可知,程序运行时,CPU在第100ms~110ms的时间段内空闲。此时程序B正在输入数据,而程序A正在打印信息,CPU在空闲等待两程序再次调用其进行计算。
程序B运行过程中无等待,程序A发生两次等待,第一次是B刚开始占用CPU进行计算,A等待;第二次是A完成第一次打印信息后B还在占用CPU进行计算,按照无抢占的先来先服务原则,A此时等待。
2 在单CPU和两台I/O设备(,)的多道程序设计环境下,同时投入3个作业 , 和 运行,其对CPU和I/O设备使用的顺序与时间如下:
- : (30ms) → CPU(10ms) → (30ms) → CPU(10ms) → (20ms)
- : (20ms) → CPU(20ms) → (40ms)
- : CPU(30ms) → (20ms) → CPU(10ms) → (10ms)
假定CPU和I/O设备能够并行, 和 能够并行。作业优先级 ,高优先级作业可抢占低优先级作业的CPU,但不能抢占I/O 设备。问题:
- 分别求出3个作业的turnaround时间(wall-clock时间)
- 计算CPU的利用率(计算时间/(计算时间+空闲时间))
- 计算I/O设备的利用率(工作时间/(工作时间+空间时间))
根据题目所述的规则,这三个程序的执行以及设备的运行状态如下图所示:
三个作业的turnaround时间分别为: 。
CPU的利用率: 。
I/O设备利用率: 利用率: , 利用率: 。
注:对于CPU和IO设备而言,他们在完成各自的最后一个任务之后,整个系统的工作还没有结束,因此最后的一段时间里他们还处于空闲的状态,这一段时间从整个系统而言仍然要算作空闲,因此计算CPU与IO设备利用率的时候,分母都是整个系统工作的时间130ms。
本次作业两道题目的画图是由excel完成的,系博主原创,原文件资源见附件。