一、进程的运行状态
1. 创建态
- 进程刚被创建时的状态,尚未进入就绪态
- 创建进程的步骤:
- 系统为进程分配唯一的标识符,并且申请PCB
- 向PCB中写入控制和管理进程的基本信息
- 为该进程分配所需的资源
- 将进程的状态改为就绪态
2. 就绪态
- 进程获得了除处理机外的所有资源,只需获得处理机就可以运行
- 如果有多个进程处于就绪态,则他们被存放在就绪队列中
3. 运行态
- 正在处理机上运行的状态,在单处理机上,每个时间只能有一个进程在处理机上运行
4. 阻塞态
- 进程正在等待某一资源而暂停运行的状态
- 如果有多个阻塞进程,则将他们存入阻塞队列中
5. 结束态
- 进程正在从系统中消失,可能正常结束,也可能被动结束。
- 系统所需完成的工作
- 将该进程置为结束态
- 回收相关资源
二、进程状态之间的转换
就绪态 --> 运行态:处于就绪态的进程得到处理机的调度,获得处理机资源,便可运行
运行态 --> 就绪态:非抢占式操作系统中是时间片用完了;抢占式操作系统中是有更高优先级的进程进入,就会抢占处理机,导致原进程重新回到就绪态
运行态 --> 阻塞态:运行中的进程,需要其他的资源,就会进入阻塞态
阻塞态 --> 就绪态:之前所需的资源获取到之后,就重新进入就绪态
- 运行态进入阻塞态是主动行为;而阻塞态进入运行态是被动行为,需要其他进程的协助