浅析计算CPU的利用率
(2010-10-17 19:29:12)
顺序执行时,cpu总时间除以所有时间的总和。
并发执行时,需要画图处理更清晰。
下面就详解一道在并发执行时有关CPU计算的试题
在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投入三个作业运行。他们的执行轨迹如下:
Jobl : I2 ( 30ms )、CPU ( 10rns )、I1 ( 30ms )、CPU ( 10ms )
Job2 : I1 ( 20ms )、CPU ( 20ms )、I2 ( 40ms )
Job3 : CPU ( 30ms )、I1 ( 20ms )
如果CPU、I1和I2都能并发工作,优先级从高到低为Job1、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU。
试求:
(1)每个作业从投入到完成分别所需的时间。
(2)每个作业投入到完成CPU的利用率。
(3)I/O设备利用率。
解析:
三个作业并发工作图如下
注释:图中白色为CPU的空闲状态,红色为CPU的工作状态,绿色为I1的工作状态,蓝色为I2的工作状态。
(1)Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90ms。
(2)CPU空闲时间段为:60ms至70ms,80ms至90ms,所以CPU利用率为(90-20)/90=77.78%
(3)设备I1空闲时间段为:30ms至50ms,故I1的利用率为(90-20)/90=77.78%;设备I2空闲时间段为40ms至60ms,故I2的利用率为(90-20)/90=77.78%。