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

admin2014-12-08  30

问题 并发使得处理机的利用率得到提高,其主要原因是处理机与IO可以同时为多个进程服务,也即处理机与IO设备真正地并行。但是处理机的利用率提高并不是简单地将两个进程的处理机利用率相加,而是遵循一定的规律。现在有一个计算机系统采用多道程序技术实现了并发,调度算法采用时间片轮转,时间片很小可以不计进程并发时的次序。忽略计算机系统的开销,请计算并填写下表以及甘特图的空缺内容:
假设进程创建时间和完全占有CPU运行的确切时间如下表所示。已知其IO繁忙率为80%,处理机的利用率为20%。

请计算并填写下列空格(填百分率)和图表空格处(填时间)。

选项

答案根据题意,计算得到 U1=1—0.81=0.2=20% U2=l—0.82=0.36=36% U3=1—0.83=0.49=49% U4=1—0.84=0.59=59% [*]

解析 本题考查的是并发进程之间的计算。计算机引入多道程序设计技术主要是为提高处理机的利用率。在多道程序并发的情况下,处理机的利用率呈现出如下的规律:
U=1-pn
    其中,U为处理机利用率,p为IO繁忙率,n为并发进程数。据此,对题目给定的数据进行计算,并将结果填入表格中。
    当1个进程运行时,处理机利用率为20%,这个进程独享该处理机,所以20%的利用率均被使用。在时刻10:00到10:10期间,进程0得到上述享受。这期间,进程0实际的处理机时间为10分×20%=2分。
    当2个进程运行时,根据公式计算得到处理机利用率为36%,2个进程共享处理机,所以每个进程的处理机的利用率为18%。在时刻10:10到10:15期间,进程0和1共享处理机。这期间,进程0和1各自实际的处理机时间为5分×36%÷2=0.9分。
    当3个进程运行时,根据公式计算得到处理机利用率为49%,3个进程共享处理机,所以每个进程的处理机的利用率为16%。在时刻10:15到10:20期间,进程0、1和2共享处理机。这期间,进程0、1和2各自实际的处理机时间为5分×49%÷3=0.8分。
    当4个进程运行时,根据公式计算得到处理机利用率为59%,4个进程共享处理机,所以每个进程的处理机的利用率为15%。
    从时刻10:20开始,4个进程并发。那么,从图中可以看到,进程0已经运行了3.7分,进程1运行了1.7分,进程2运行了0.8分,进程3刚运行,根据题目给出的个进程实际占有处理机的时间,我们可以看出,进程0还剩余时间0.3分,进程1还剩余1.3分,进程2还剩余1.2分,进程3还剩余2分,显然,在并发并且平均使用处理机的情况下,进程结束的次序应该为0、2、1、3。
    首先我们计算进程0还需要运行多少时间结束。经过刚才计算得知,进程0还剩余0.3分,那么,在4进程并发,处理机利用率为每进程15%的情况下,尚需要时间为0.3÷15%=2分,由此得知,到10:22分时,进程0结束。
    进程0退出以后,我们再计算剩余进程的剩余时间为进程1、2、3分别为1.0、0.9、1.7分,上面已经分析,下一个结束的进程是进程2,所以,我们计算0.9÷16%=5.6分,注意,此时是3个进程并发了,处理机的利用率为每进程16%,此处切记不可疏忽。到10:27.6分,进程2结束。
    同理,进程2退出以后,我们再计算剩余进程的剩余时间为进程1、3分别为0.1、0.8分,上面已经分析,下一个结束的进程是进程1,所以,我们计算0.1÷18%=0.6分,再扫意,此时是2个进程并发了,处理机的利用率为每进程18%。到10:28.2分,进程1结束
    同样计算,进程1退出以后,剩余进程3的剩余时间为0.7分,我们计算得出0.7÷20%=3.5分,而此时处理机的利用率为每进程20%。到10:31.7分,进程3结束。
    据此,填写下列各个表格和空格。
转载请注明原文地址:https://kaotiyun.com/show/cOxi777K
0

最新回复(0)