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