操作系统的多道编程

近期,我亲爱的小伙伴们好像都在准备找工作,预祝他们找工作顺利!我这整天在实验室的伤不起。

有一个小伙伴问了我一道操作系统的题目,大概如下:

操作系统的多道编程_第1张图片

其实,乍看一眼,我也不会。。。可能是操作系统忘光了吧。复习了一下,知道这个题的题意其实是操作系统的多道编程:

我做出的正确结果应该是23.47,也就是答案B

分析过程:

操作系统的多道编程_第2张图片

分析步骤:

0-10分钟的时候,只有一个进程1在运行。
单进程CPU占有率是20%,所以这10分钟内,进程1消耗了2分钟的CPU。进程2是0,进程3也是0
然后在10-15分钟内,有两个进程在运行(1和2),双进程的CPU利用率是36%,
所以,这五分钟内,CPU一共利用了1.8分钟,平均分给每个进程,是0.9分钟。
此时,进程1已经占用了CPU 2.9分钟,还需要0.6分钟,这时候有三个进程在运行,所有总的CPU时间需要1.8分钟。
三进程的CPU利用率是48.8%,所以总共需要1.8/0.488=3.69分钟。这时,进程1已经3.5分钟的CPu利用时间利用完了。
此时还剩下2和3号进程在运行。
2号进程还需要0.5分钟,所以0.5×2/0.36=2.78,此时2号进程的2分钟CPU时间也利用完了。
3号进程还需要0.4分钟的CPU利用时间。0.4/0.2 = 2
所以就求完了

至于多道编程时CPU利用率的求法:
是这样的:
只有一个进程的时候,CPU利用率肯定是20%。
两个进程的时候:CPu利用率是:20% + (1-20%)*20% = 36%
三个进程是:36% + (1-36%)*20% = 48.8%
其它的依次类推。

你可能感兴趣的:(操作系统的多道编程)