1. 多道编程

为了提高计算机 CPU 执行的效率(或者说系统的吞吐量),需要多道编程的编程,于是人们在操作系统中引入了进程的概念。

如果一个进程有 20% 的时间使用 CPU 进行计算,另外 80% 的时间用来进行 I/O:

  • 如果是单道编程,CPU 的利用率只有 20%;
  • 如果同时运行两个一样的进程,即所谓的 2 道编程,则 CPU 利用率将提高为 36%(对立事件,1-0.8*0.8=0.36)
  • 三道编程:1-0.8^3 ⇒ 48.8%
  • 四道编程:1-0.8^4 ⇒ 59%


这里写图片描述

如上图所示,随着多道编程的度的增加,CPU 的利用率将逐步提升,但提升的幅度则逐步降低,直到某个临界点时为止,这个临界点就是多道编程的极限。对于上文所述的系统来说,多道编程的度达到 12 以后,CPU 的利用率已经达到 94%,之后 CPU 利用率的提升空间就很小了,而此时因为进程切换所带来的系统消耗则变得非常明显。

2. 多用户环境

多用户环境下,操作系统调度程序需要决定在若干进程中运行哪个进程

posted on 2016-09-21 17:46  未雨愁眸  阅读(186)  评论(0编辑  收藏  举报