并发使得处理机的利用率得到提高,其主要原因是处理机与10可以同时为多个进程服务,也即处理机与IO设备真正地并行。但是处理机的利用率提高并不是简单地将二个进程的处理机利用率相加,而是遵循一定的规律。现在有一个计算机系统采用多道程序技术实现了并发,调度算法采用

admin2013-12-31  42

问题 并发使得处理机的利用率得到提高,其主要原因是处理机与10可以同时为多个进程服务,也即处理机与IO设备真正地并行。但是处理机的利用率提高并不是简单地将二个进程的处理机利用率相加,而是遵循一定的规律。现在有一个计算机系统采用多道程序技术实现了并发,调度算法采用时间片轮转,时间片很小可以不计,忽略系统的开销,请分析以下问题:
    假设每个进程的处理机的利用率为u1=20%。
    (1)进程并发时,处理机的利用率与并发进程数的关系是什么?
    (2)假设某一计算机系统拥有20 MB内存,以等额分区的方式实现了多道程序设计并运行,每个分区为4 MB,其中操作系统占一个分区,请问此时处理机的利用率最大为多少?
    (3)假设为这个系统增加了16 MB内存,系统有足够的并发度,此时处理机的利用率最大为多少?系统的吞吐量比(2)增加了多少?
    (4)在(3)的基础上继续增加16 MB内存,此时处理机的利用率最大为多少?系统的吞吐量比(3)增加了多少?分析此时增加的内存是否合算?说明为什么。

选项

答案根据题意,计算得到: (1)进程并发时,处理机的利用率可以按如下公式计算 un=1-(1-u1)1 其中n为并发进程数,un为n个进程并发时的处理机利用率,u1为单个进程运行时的处理机利用率 (2)在20 MB内存下,以固定分区并发,操作系统占用1个分区,则可以得到最高有4个进程并发,那么此时处理机的利用率为: u4=1-(1-u1)4=1-(1-0.2)4=59% (3)当增加了16 MB的内存以后,进程的并发数最多可以到达8个,此时的处理机利用率为: u8=1-(1-u1)8=1-(1-0.2)8=83.2%比4进程并发的时候处理机利用率提高了83.2%-59%=23.8%吞吐量比起(2)则增加了 (P8-P4)/P4=(8/(8×(T×u1)/u8)-4/(4×(T×u1)/u4))/(4/(4×(T×u1)/u4))=(4.16/T-2.95/T)/2.95T=41% (4)继续增加内存16 MB,此时进程的并发数最多可以到达12个,此时的处理机利用率为: u12=1-(1-u1)12=1-(1-0.2)12=93.1% 比8进程并发的时候处理机利用率提高了93.1%-83.2%=9.9%。吞吐量比起(3)则增加了 (P12-P8)/P8-(12/(12×(T×u1)/u1)-8/(8×(T×u1)/us))/(8/(8×(T×u1)/u8))=(4.66/T-4.16/T)/4.16T=12% 综上,当额外继续增加16 MB内存时,处理机的利用率仅提高了9.9%,吞吐量比起(3)则增加了12%,比以前16 MB内存,处理机的利用率提高了23.8%,吞吐量(3)比起(2)则增加了41%,显然,后16 MB内存的效果不如前16 MB内存,故不合算。

解析
转载请注明原文地址:https://kaotiyun.com/show/FSxi777K
0

最新回复(0)