3.2.2【知识点】进程调度
例:在一个单CPU的计算机系统中,采用可剥夺式(也称抢占式)优先级的进程调度方案,且所有任务可以并行使用I/O设备。下表列出了三个任务T1、T2, T3的优先级、独立运行时占用CPU和I/O设备的时间。如果操作系统的开销忽略不计,这三个任务从同时启动到全部结束的总时间为(1)ms.CPU的空闲时间共有(2)ms。
(1)A.28 B.58 C.61 D.64
(2)A.3 B.5 C.8 D.13
试题分析:
这是一个单CPU系统,也就是同时只能有一个进程使用CPU,系统采用可剥夺式(也称抢占式)优先级的进程调度方案,所以当系统优先级高的任务要使用CPU时就可以抢占CPU,要注意的是,I/O设备是并行使用的设备,任务可以同时使用也不会相互影响,因此我们用时空图来表示系统的运行过程:
由图就可以很清楚的看见整个系统的运行情况,其结果就可以得出为10+10+3+5+5+5+2+13+5=58,CPU在整个时间轴上仅在倒数第二段为空闲状态,那么空闲时间就为13。试题答案:(1)B ,(2)D。
例:某系统的进程状态转换如下图所示,图中1、2、3、4分别表示引起状态转换的不同原因,原因4表示 。
A. 就绪进程被调度 B. 运行进程执行了P操作
C. 发生了阻塞进程等待的事件 D. 运行进程时间片到了
试题分析:
这里1~4分别表示:1:就绪进程正常调度;2:运行进程时间片到;3:需要等待某个事件发生;4:等待事件已经发生。试题答案:C。
例:假设有三个进程竞争同类资源,如果每个进程需要2个该类资源,则至少需要提供该类资源 个,才能保证不会发生死锁。
A. 3B. 4C. 5D. 6
试题分析:
首先可以使用逆向思维进行思考:三个进程,每个进程需要2个同类资源,那么总共需多少个资源呢?几种情况:
1.资源总数为1,则不管哪个资源占用该资源,都会导致无条件死锁。
2.资源总数为2,可分两种情况,即:一个资源占用2个该资源,直到它执行完毕后释放,又由另一进程同时占用2个资源,最后由最后一个进程使用,这样不会导致死锁。而两个资源若不为某一进程独占,也会导致死锁。我们称这种状态是不安全的。
3.资源总数为3,跟第二条同理。
4.资源总数为4,无论资源如何分配,都不会导致死锁。用公式可以总结如下:
资源总数(安全的)=进程数×(每个进程所需资源数-1)+1
编辑推荐: