1. CPU 的管理
CPU的工作原理:
从内存中取出程序的指令, 执行程序中的指令;
1.1 多道程序
假设A 程序运行时, 遇到 IO 处理时, 为了能够执行A 程序的后续指令, 正常情况下 cpu 需要等待着IO 处理完成, 而这个等待的期间 CPU 是闲置着,
为了提高cpu 的利用率,
同时运行程序A 和程序B,
当程序A 需要处理 IO时, 此时,跳出程序A, 去执行程序B, 这样CPU 就不需要等待着, 从而可以继续执行 指令;
1.2 进程的概念
当一个程序运行起来时, 其中包含了多个信息,比方运行到某个时间节点时, 该程序中多个寄存器的数值。
为了区别 运行中的程序和 静态程序,
将运行中的程序 定义为 进程, 即进行中的程序。
1.3 PCB 的作用
然而多道程序并发, 这样引出另外一个问题,
当cpu 从程序B 返回到 程序A 继续执行时, 应该从 程序A 的何处地方开始执行?
这就需要,当CPU从 程序A 切换出去时, 需要保存当时程序A运行的现场信息,
比如CPU 跳出时, 运行到程序A 哪个地址了, 此时程序A 中所对应的各个寄存器存放的数值为多少;
为了将 一个运行中的程序所包含的上述信息保存起来,引入了PCB的概念, 即将上述信息存放在 PCB 的数据结构中。
1.4 进程五种基本状态

-
创建状态:进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态
-
就绪状态:进程已经准备好,已分配到所需资源,只要分配到CPU就能够立即运行
-
执行状态:进程处于就绪状态被调度后,进程进入执行状态
-
阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时无法运行,进程受到阻塞。在满足请求时进入就绪状态等待系统调用
-
终止状态:进程结束,或出现错误,或被系统终止,进入终止状态。无法再执行。
如果进程运行时间片使用完也会进入就绪状态。
另外为用户观察需要,进程还有挂起和激活两种操作。挂起后进程处于静止状态进程不再被系统调用,对于操作是激活操作。
1.5 小结
当CPU 只执行一个 程序时, 遇到IO 处理的任务时, 此时,CPU会闲置等待着,
所以, 为了提高 CPU的利用率, CPU 同时执行 多个 程序,
从而引入 进程, PCB 数据结构 这两个重要的概念;
2. os 管理多个进程
使用进程控制模块 PCB, process control block, 来管理多个进程,



















