北航操作系统课程-第二次作业-操作系统引论2

北航操作系统课程-第二次作业-操作系统引论2


北京航空航天大学计算机学院-2020春操作系统课程
题目作者为北航计算机学院操作系统课程组,答案为博主原创。水平有限,无法保证作答正确性,如有错误敬请批评指正。部分作答源自百度谷歌等其他资料,如有侵权联系删除


1 设一计算机系统有输入机一台、打印机两台,现有二道程序同时投入运行,且程序B先开始运行,程序A后运行。程序A的运行轨迹为:计算50ms,打印信息80ms,再计算50ms ,打印信息100ms,结束。程序B运行的轨迹为:计算50ms,输入数据60ms,再计算100ms,结束。要求:

  1. 用图画出这二道程序并发执行时的工作情况。
  2. 说明在二道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?
  3. 程序A、B运行时有无等待现象?在什么时候会发生等待现象?

二道程序的执行过程如图所示:
在这里插入图片描述
由图像可知,程序运行时,CPU在第100ms~110ms的时间段内空闲。此时程序B正在输入数据,而程序A正在打印信息,CPU在空闲等待两程序再次调用其进行计算。

程序B运行过程中无等待,程序A发生两次等待,第一次是B刚开始占用CPU进行计算,A等待;第二次是A完成第一次打印信息后B还在占用CPU进行计算,按照无抢占的先来先服务原则,A此时等待。


2 在单CPU和两台I/O设备( I 1 I_1 I 2 I_2 )的多道程序设计环境下,同时投入3个作业 J 1 J_1 J 2 J_2 J 3 J_3 运行,其对CPU和I/O设备使用的顺序与时间如下:

  • J 1 J_1 : I 2 I_2 (30ms) → CPU(10ms) → I 1 I_1 (30ms) → CPU(10ms) → I 2 I_2 (20ms)
  • J 2 J_2 : I 1 I_1 (20ms) → CPU(20ms) → I 2 I_2 (40ms)
  • J 3 J_3 : CPU(30ms) → I 1 I_1 (20ms) → CPU(10ms) → I 1 I_1 (10ms)

假定CPU和I/O设备能够并行, I 1 I_1 I 2 I_2 能够并行。作业优先级 J 1 < J 2 < J 3 J_1 < J_2 < J_3 ,高优先级作业可抢占低优先级作业的CPU,但不能抢占I/O 设备。问题:

  1. 分别求出3个作业的turnaround时间(wall-clock时间)
  2. 计算CPU的利用率(计算时间/(计算时间+空闲时间))
  3. 计算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

CPU的利用率: η = 80 ÷ 130 = 61.5 % \eta = 80 \div 130 = 61.5\%

I/O设备利用率: I 1 I_1 利用率: η I 1 = 80 ÷ 130 = 61.5 % \eta_{I_1} = 80\div 130=61.5\% , I 2 I_2 利用率: η I 2 = 90 ÷ 130 = 69.2 % \eta_{I_2} = 90\div 130=69.2\%

注:对于CPU和IO设备而言,他们在完成各自的最后一个任务之后,整个系统的工作还没有结束,因此最后的一段时间里他们还处于空闲的状态,这一段时间从整个系统而言仍然要算作空闲,因此计算CPU与IO设备利用率的时候,分母都是整个系统工作的时间130ms。


本次作业两道题目的画图是由excel完成的,系博主原创,原文件资源见附件。

发布了12 篇原创文章 · 获赞 2 · 访问量 495

猜你喜欢

转载自blog.csdn.net/JeremyZhao1998/article/details/104719220