1. 管理CPU,先要使用CPU
![](https://i-blog.csdnimg.cn/blog_migrate/72c839eabc14472dbcb91de72aa3e6e7.png)
管理CPU的最直观方法
![](https://i-blog.csdnimg.cn/blog_migrate/253a1754db3f5c6b4a05e7c48662e661.png)
2. 提出问题
有IO指令执行的特别慢,当cpu执行计算指令很快,遇到IO指令cpu进行等待,利用率不高。
![](https://i-blog.csdnimg.cn/blog_migrate/c172fbb7759389891afafbb6453b2adf.png)
![](https://i-blog.csdnimg.cn/blog_migrate/de5303c9938a70c2c2bb6b4d34d7a05a.png)
使用多道程序、交替执行,这样cpu就忙碌起来
3. 解决问题
dev:设备驱动程序
单道程序:A执行,遇到dev等待,执行完了,然后执行B
多道程序:先交给B执行,B的dev1(打印机)开始工作了,然后切给A执行,这时候A的cpu在运行,B的打印机也在不断的打,到10这个地方,dev为A服务,cpu切到B上
![](https://i-blog.csdnimg.cn/blog_migrate/aaf3efba279151411ab0e893524ae6a7.png)
4. 一个cpu面对多个程序
![](https://i-blog.csdnimg.cn/blog_migrate/92801d536766f7606206d4cdef795b0b.png)
同时出发,交替执行
并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。
这就好像两个人用同一把铁锨,轮流挖坑,一小时后,两个人各挖一个小一点的坑,要想挖两个大一点得坑,一定会用两个小时。
![](https://i-blog.csdnimg.cn/blog_migrate/e34c9cea6d0cd9ef73c67bcb11126f3f.png)
不行,除了修改pc还得修改很多内容,需要有一个东西来记录程序切出去时的信息
PCB记录运行起来的样子,便于继续执行
进程控制块(process control block, PCB)
5. 引入进程的概念
![](https://i-blog.csdnimg.cn/blog_migrate/e0bb64c16395ef2883e62830baeff2c0.png)
启动一个进程,让cpu执行这个进程,那么cpu不就工作起来了,
让cpu更好的工作,操作系统需要启动多个进程,让cpu跑这多个进程,cpu利用率就上来了,cpu就很好的管理了