L8 CPU管理的直观想法

管理CPU的最直观方法

设好PC初值就完事,CPU会自动地顺着地址下移,不断取指执行。

看看这样有没有问题?提出问题。

当遇到IO操作之类的,CPU会处于等待状态(时间很长),等着fprintf(fp, "%d", sum)执行完,才会继续执行下去。

怎么解决?

遇到等待时,就切换到其他程序继续执行,等待原程序打印成功,就切换回去,继续执行原程序。
就好比,自己烧水的过程:往水壶里面装满水,打开灶台,等待水壶烧开。在等水开的这段时间,我总不会一直呆坐着,而是要忙其他事情。

多道程序、交替执行,好东西啊!

在等待时间,做另一个程序的事情,大大增加了CPU的利用率。

一个CPU面对多个程序?

一个CPU上交替执行多个程序:并发。

修改寄存器PC就行了吗?

运行时的程序和静态程序不一样。
每个程序有了一个存放信息的结构:PCB。
要记录执行暂停切换出去前的程序状态!

引入“进程”概念

运行时的程序和静态程序不一样。

程序 + 所有这些不一样 => 一个概念。(所有的不一样都表现在PCB中)

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

  • 进程有开始、有结束,程序没有
  • 进程会走走停停,走停对程序无意义
  • 进程需要记录不同时刻变量的值ax,bx,…,程序不用

猜你喜欢

转载自blog.csdn.net/somniloquy_/article/details/82431377