多道程序设计系统中CPU的利用率

您所在的位置:网站首页 cpu利用率计算简单公式是什么 多道程序设计系统中CPU的利用率

多道程序设计系统中CPU的利用率

2023-12-24 20:04| 来源: 网络整理| 查看: 265

以下的所以探讨,都假设其CPU都是单核的。

多道程序设计系统中,通常会同时存在多个进程,而CPU是有限的,我们都期待能够充分地利用CPU的资源,达到效率最大化。可以通过计算CPU的利用率来判断是否充分利用了CPU资源。

如何计算CPU的利用率

CPU的利用率可以从概率来看。 假设一个进程等待I/O操作的事件占这个进程驻留在内存时间的比例为p, 并且此时内存中有n个进程,每一个进程等待I/O操作的时间也占它驻留在内存的时间比例为p。 CPU的利用率是以最糟糕的情况来衡量,最糟糕的情况就是:此时所有的进程都在等待I/O。这种情况的概率为p^n

用概率来代表CPU的利用率,则有如下公式: 在这里插入图片描述 P:进程等待I/O占该进程驻留在内存中的时间比例。 n : 多道程序设计的道数。

这个函数能够有效地预测CPU的性能。

练习

以下习题题目均取自《现代操作系统》

1、一个计算机系统的内存有足够的空间容纳5个程序。这些程序有一半的时间处于等待I/O的空闲状态。CPU时间浪费的比例为多少?

答:根据CPU的利用率 = 1 - p^n , 可知CPU浪费的比例 = p^n , 即0.5^5, CPU时间浪费的比例为 1/32------>约为31.25%

2、一个计算机的RAM有4GB,其中操作系统占512MB。假设所有进程都占256MB,并且特征相同。要使得CPU的利用率达到99%,最大I/O等待是多少?

在这里插入图片描述

3、如果多个作业能够并行地运行,会比它们顺序执行完成得快。假设有两个作业同时执行,每个进程需要20分钟CPU时间。如果顺序执行,那么完成最后一个作业需要多长时间?如果并行执行又需要多长时间?假设I/O等待占50%

答:如果是顺序执行,只有一个进程用完CPU才能轮到下一个进程,一个进程需要20分钟,然而I/O等待占它驻留在内存的时间比为50%,说明这个进程需要CPU40分钟,而第二个进程同样需要CPU40分钟,所以执行完成最后一个作业需要80分钟。 如果是并发执行,CPU的利用率 = 1 - 0.5^ 2 = 0.75 , 也就是说,如果给出的CPU时间为100分钟,实际上这些进程只能用到CPU75分钟。根据这个分析,可知,如果要让进程使用CPU40分钟,要使得他们完成,则需要CPU的 40/0.75 = 53.33分钟。

4、考虑一个6级多道程序系统(内存中可同时容纳6个程序)。假设每个进程的I/O等待占40%,那么CPU利用率是多少?

答:CPU的利用率 = 1 - 0.4^ 6 = 98.97%

计算密集型和I/O密集型

计算密集型进程:绝大多数时间花在计算上。 I/O密集型进程 : 绝大多数时间花在等待I/O上。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3