进程的状态
-
运行状态——Running
进程已经占有cpu,在cpu上运行 -
就绪状态——Ready
具备运行条件但因为无cpu,暂时不能运行 -
阻塞状态——Block = 等待状态——Wait
因为等待某项服务完成或信号不能运行的状态
如:等待系统调用、I/O操作,合作进程信号
进程状态的改变
进程状态可以依据一定条件相互转化
- 就绪—>运行 : 进程调度
- 运行—>就绪 : 时间片到;被抢占(另一个优先级更高)
- 运行—>阻塞 : 请求服务;等待信号(叫系统帮忙,等服务员过来)
- 阻塞—>就绪 : 服务完成;信号到来(搞定了,等信号来让进程出去发挥作用)
进程控制块——PCB = Process Control Block
-
进程控制块是描述进程状态、资源、和 与相关进程关系的数据结构
PCB是进程的标志——操作系统通过PCB感知、管理进程
创建进程时创建PCB
进程撤销后PCB同时撤销 -
进程 = 程序 + PCB
PCB的数据结构
next:方便系统指向下一个进程
进程的切换
-
进程的上下文
Context,进程运行环境,cpu环境 -
进程切换过程
换入进程的上下文进入cpu(从栈上来)
换出进程的上下文离开cpu(到栈上去)