1、进程的生命周期
1)五状态模型:包括新建态、就绪态、运行态、阻塞态和退出态。
- 空—>新建态:创建一个新的进程。
- 新建态—>就绪态:进程被放入内存中后,就可以变成就绪态。
- 就绪态—>运行态:进程被cpu调度执行。
- 运行态—>就绪态:分给该进程的时间片被耗尽,或者更高优先级的进程抢占了cpu。
- 运行态—>退出态:进程已运行完成或取消。
- 运行态—>阻塞态:进程等待某些事件的发送,如I/O操作。
- 阻塞态—>就绪态:进程等待的事件已发生。
- 就绪态—>退出态:子进程被父进程终止,此时处于就绪态的子进程将退出。如果父进程终止,则其所有子进程也将终止。
- 阻塞态—>退出态:与上一项一样。
2)包含挂起态的进程生命模型
在五状态模型的基础上,新增了挂起态。
增加挂起态的原因是,IO操作的速度远慢于处理器的运行速度。当cpu调度完了所有进程后,如果这些进程全部处于阻塞状态,则cpu将处于空闲