为什么引用进程的概念—CPU管理的直观想法

博客参考:MOOC 大学 -> 操作系统 -> 李治军老师

  进程是一个概念,这个概念缘起于:操作系统需要管理 CPU --> CPU 通过取值执行 --> 为了提高 CPU 的利用率需要多道程序,交替执行 --> 引入进程的概念来形容程序和程序运行时的变化。

  一、使用 CPU。

  取值(址)执行,所以管理 CPU 最直观的方法就是设置 PC 值。

  二、问题。

  当执行一条 IO 指令的时候,需要花费大量的时间。例如下面这个例子:(运行时间每一台电脑都不一样,这只是我的渣渣电脑跑出来的时间)

  

   显而易见地,执行一条 IO 指令花费的时间几乎可以执行 4*10^6  条自增指令。

  如果现在有一个程序,先执行 4*10^6 条自增指令,再执行一条 IO 指令,这个时候 CPU 的利用率为 50%。再者,我们平时的程序一般也就 30来条计算指令,这样 CPU 的利用率就会无限接近于 0

  如何解决这个问题?

  当执行 IO 操作的时候,CPU 去执行其他的程序,当 IO耗时操作执行完成后,发送一个中断给 CPU,再次执行该程序。

  这就是“ 多道程序,交替执行 ”,也就是我们说的  并发(同时出发,交替执行)。

  三、怎么做?

  除了要修改寄存器 PC 的值,还要将发生变化的寄存器的值,返回地址等等记录下来。

  使用 PCB 结构将这些变化的值保存下来,每一个程序都有一个这样的结构。

  四、引入进程的概念。

  1. 进程的概念不是凭空产生的,是因为我们需要描述程序和这些改变的值,也就是描述一个运行时的程序。其中,所有的不一样保存在 PCB 中。

  2. 进程是进行(执行)中的程序

  进程由开始,结束;程序没有。进程会走走停停;走停对程序无意义。进程需要记录寄存器的值;程序不用。

  五、总结。

  反过来用进程的概念描述 CPU 的管理的使用。

  启动一个进程让 CPU 去执行,就是 CPU 的使用/工作。

  同时运行多个进程可以提高 CPU 的利用率,操作系统能更好地管理 CPU

  所以,多个进程共同执行就是管理 CPU 的核心样子。

 

posted @ 2020-06-03 00:04  葡萄籽pp  阅读(559)  评论(0编辑  收藏  举报