美文网首页
2019-05-29 星期三 1 of 180

2019-05-29 星期三 1 of 180

作者: 老布威利斯 | 来源:发表于2019-05-30 12:00 被阅读0次
    • 多道编程的好处

    人们发明进程是为了解决多道编程,而进行多道编程的目的则是提高计算机的效率,或者说系统的吞吐量。例如:如果有一个进程有20%的时间使用CPU进行计算,另外80%的时间用来进行I/O,则如果使用单道编程,CPU的利用率只有20%。但如果同时运行两个这样的进程,即进行所谓的2道编程,则CPU利用率将提高到36%(CPU只在两个进程同时进程I/O时才处于闲置状态,因此CPU的利用率为1-0.8*0.8 = 36%)

    在0.8的空闲期间,又使用了0.2,剩下0.64的空余,所以使用率为1-0.64=0.36,1的单位其实指的是第一个进程从开始到I/O处理完所需要的时间,利用率是指在这个时间内,CPU有多少比例的时间处于计算状态
    

    这里忽略了进程切换所需要的系统消耗。
    同理,如果同时运行三个这样的进程,则CPU的利用率将进一步提高到48.8%,

    • 4个进程的CPU利用率为59.04%,
    • 5个进程的CPU利用率为67.232%,
    • 6个进程的CPU空闲率为 26.2144%(0.8^6), 利用率为73.7856%
    • 7个进程的CPU空闲率为 16.777216%(0.8^7), 利用率为83.222784%
      这样,随着进程数量的增加,也就是随着多道编程的度的增加,CPU的利用率将逐步提升,但提升的幅度则逐步降低,直到某个临界点时为止。这个临界点就是多道编程的极限。超过这个极限,多道编程的好处将逐步消失,甚至呈下降趋势。对于这个系统来说,多道编程的度达到12以后,CPU利用率已经达到94%,之后CPU利用率的提升空间就很小了,而因为进程切换所带来的系统消耗则变得非常明显。

    相关文章

      网友评论

          本文标题:2019-05-29 星期三 1 of 180

          本文链接:https://www.haomeiwen.com/subject/oalmtctx.html