单选题
假设当前计算机并发系统中有一个用户进程,它的工作流程如下表所列,再假设系统只有三个基本状态,用户进程具有最高优先级,采用不可抢先时间片轮转调度算法,时间片为20ms,其他进程不用磁盘及其他IO设备。则该进程运行完成所需时间是______。
表
开始
CPU
磁盘读写
CPU
磁盘读写
CPU
结束
15ms
25ms
10ms
30ms
5ms
A.85ms B.140ms C.105ms D.110ms
A
B
C
D
【正确答案】
D
【答案解析】
[解析] 本题考查考生对抢先式和非抢先式,以及时间片轮转调度算法的理解。根据题意,并发系统不止一个进程,所以它们会竞争CPU,考虑一个简单系统,只有用户进程是使用磁盘的,其他进程不用,所以磁盘的使用可以不用等待,由此,我们画出如下示意图见表,其中注意,CPU是不可抢夺的。
表
开始
15ms
20ms
20ms
10ms
20ms
20ms
5ms
结束
CPU
CPU
CPU
磁盘
等
磁盘
等
由于CPU不可抢夺,所以当用户进程从磁盘读写返回时,它不能抢夺其他正在运行的进程,必须等待,到下一个调度时机的时候,由于其优先级最高,所以可以占有CPU运行。同理分析,直到该进程运行结束。计算出总时间。注意本题中,进程运行少于20ms而主动出让CPU是可以的,并不是一定要到20ms才调度,我们所说的不可抢先是指被迫出让CPU的情形是不允许的。
提交答案
关闭