2019-05-29 星期三 1 of 180

  • 多道编程的好处

人们发明进程是为了解决多道编程,而进行多道编程的目的则是提高计算机的效率,或者说系统的吞吐量。例如:如果有一个进程有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利用率的提升空间就很小了,而因为进程切换所带来的系统消耗则变得非常明显。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 必备的理论基础 1.操作系统作用: 隐藏丑陋复杂的硬件接口,提供良好的抽象接口。 管理调度进程,并将多个进程对硬件...
    drfung阅读 3,595评论 0 5
  • 1.内存的页面置换算法 (1)最佳置换算法(OPT)(理想置换算法):从主存中移出永远不再需要的页面;如无这样的...
    杰伦哎呦哎呦阅读 3,357评论 1 9
  • 进程 操作系统背景知识 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作...
    go以恒阅读 967评论 0 2
  • 操作系统中最核心的概念是进程:这是对正在运行程序的一个抽象。操作系统的其他所有内容都是围绕着进程的概念展开的。 即...
    伊恩的道歉阅读 772评论 0 2
  • title: Book | Operating System Concepts Part 1date: 2018-...
    Sheriruth阅读 1,471评论 0 1