L8 CPU管理的直观想法

管理CPU的最直观方法

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

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

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

怎么解决?

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

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

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

一个CPU面对多个程序?

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

修改寄存器PC就行了吗?

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

引入“进程”概念

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值