Job2:I2(20ms);CPU(20ms);I2(40ms)
Job3:CPU(30ms);I1(20ms); CPU(10ms);I1(10ms)
假定CPU、I1、I2都能并行工作,Job1优先级最高,Job2次之,Job3优先级最低,优先级高的作业可以抢占优先级低的作业的CPU但不抢占I1和I2。试求: 三个作业从投入到完成分别需要的时间 从投入到完成的CPU利用率 I/O设备利用率。
解:三个作业并发执行时的工作情况如图4.2所示。 (1)由上图可以看出Job1从投入到运行完成需要110ms,Job2从投入到运行完成需要90ms,Job3从投入到运行完成需要110ms.
(2)CPU在时间段60ms到70ms,80ms至90ms,100ms至110ms期间空闲,所以CPU的利用率为:(110-30)/110=72.7%
(4) 设备I1在时间段20ms到40ms,90ms至100ms期间空闲,所以设备I1
的利用率为:(110-30)/110=72.7%;设备I2在时间段30ms至50ms期间空闲,所以设备I2的利用率为:(110-20)/110=81.8%。
11.试利用Bernstein 条件证明上题中的S2和S3语句是可以并发执行的,而S3和S4语句是不能并发执行的? 【解】(1) ∵R(S2) ∩ W( S3)={}; W(S2) ∩ R(S3)={}; W(S2) ∩ W(S3)={};
∴R(S2) ∩ W( S3)∪ W(S2) ∩ R(S3) ∪ W(S2) ∩ W(S3)={}
∴S2、S3可以并发执行
(2)∵R(S3) ∩ W( S4)={};
W(S3) ∩ R(S4)={c}; W(S3) ∩ W(S4)={};
∴R(S3) ∩ W( S4)∪ W(S3) ∩ R(S4) ∪ W(S3) ∩ W(S4)={c}不是空集
∴S3,S4不能并发执行
12.什么是临界资源(P16)和临界区(P50)? 【解】那些多个进程必须互斥访问的方式来实现资源共享的硬件资源和软件资源叫临界资源。
我们把在每个进程中访问临界资源的那段代码称为临界区。
13、在OS中引起进程调度的主要因素有哪些? 【解】
在OS中引起进程调度的主要因素有:
(1)缺乏资源。正在运行的进程因为某个条件不能满足,不得不进入阻塞状态,此时,运行进程被撤下,引起调度使另一个进程进入运行
(2)时间片到。如果是分时系统或者以时间片作为激励调度的系统,时间片是引起硬件激励的主要因素,每当时间片到,正在运行的进程被暂时停止,将它再次排入就绪队列,引起调度使另一就绪进程进入运行。
(3)外部中断。外部中断信号也将引起调度,如打印机打印完成,通过打印通道或者信号线路传送一激励信号,将原等待进程唤醒重新进入运行,或引起调度
第 31 页 共 33 页
使另一进程运行。
(4)进程结束。进程正常执行完毕,退出并终止,此时将激励系统调度另一进程进入运行。
14.有两个进程P1和P2,它们执行的过程如下: P1: 10秒CPU操作、20秒I/O操作(设备1)、5秒CPU操作、10秒I/O操作(设备2)、5秒CPU操作、结束 P2: 15秒I/O操作(设备1)、10秒CPU操作、15秒I/O操作(设备2)、10秒CPU操作、结束
(1) 如果进程P1和P2顺序执行,请画出进程P1和P2执行情况图; (2) 如果进程P1和P2并发执行,请画出进程P1和P2执行情况图; (3) 分别计算在(1)和(2)情况下,CPU的利用率、设备1和设备2的
利用率。
解: (1) P1: CPU I/O(DEV1) CPU I/O(DEV2) CPU 0 10 30 35 45 50 P2: I/O(DEV1) CPU I/O(DEV2) CPU 50 65 75 90 100 (2)
P1 P1 CPU(P1) CPU(P2) CPU CPU(P2) CPU I/O(DEV1)(P2) I/O(DEV1)(P1) I/O(DEV2)(P2) I/O(DEV2) 0 10 15 25 35 40 50 55 (3)
在情况(1)下,
CPU的利用率=40/100=40% 设备1的利用率=35/100=35% 设备2的利用率=25/100=25% 在情况(2)下,
CPU的利用率=40/55=73% 设备1的利用率=35/55=64% 设备2的利用率=25/55=45%
15.在五状态图中,假如计算机只有一个CPU,如果系统中有N个进程:
(1)运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程
最多几个,最少几个?
第 32 页 共 33 页
(2)有没有这样的状态转换,为什么? 等待—>运行 ; 就绪—>等待
(3)一个进程状态的转换是否会导致另一个进程的状态转换,请列出所有的可
能。 解:
(1)如果系统中有N个进程,运行的进程最多1个,最少0个;就绪进程最多N-1个最少0个;等待进程最多N个,最少0个。 (2)没有这样的状态转换。
(3) 新建 到 就绪 导致 运行 到 就绪 就绪 到 运行 导致 无
运行 到 运行 到 等待 到 运行 到 就绪 导致 就绪 到 等待 导致 就绪 到 就绪 导致 就绪 到 结束 导致 就绪 到 第 33 页 共 33 页
运行 运行 等待 运行