进程状态与切换
三态模型
进程的3种基本状态一个进程从创建而产生至撤销而消亡的整个生命周期至少有如下3种基本状态。
(1)运行态(Running):进程占用处理器正在运行。
(2)就绪态(Ready):进进程具备运行条件,
(3)等待态(Wait):进程不具备运行条件,等待某一个事件的完成

- 就绪态->运行态:cpu空闲找一个就绪态
- 运行态->就绪态:有更高级别的事件发生,或者运行时间片到
五态模型
增加两个状态:新建态,终止态
新建态:新建态进程刚被创建,尚未提交参与处理器竞争,正在等待操作系统完成创建进程的必要操作。
终止态:终止态进程已经终止,不再参与处理器竞争,但是进程尚未退出主存。

进程状态转换的具体原因如下。
NULL→新建态:创建一个子进程。
新建态→就绪态:系统完成进程创建操作,且当前系统性能和内存容量均允许接纳新进程。
运行态→终止态:进程自然结束,或出现无法克服的错误,或被操作系统终结,或被其他有终止权的进程终结。
终止态→NULL:完成善后操作,进程撤离系统。
就绪态→终止态:父进程终结子进程,进程被强行终止。
等待态→终止态:父进程终结子进程,进程被强行终止。
具有挂起状态的七态模型
1)引入“挂起”状态的原因由于进程的不断创建,系统资源已不能满足进程运行的要求,必须把某些进程挂起,对换到磁盘镜像区中,暂时不参与进程调度,起到平滑系统负荷的目的。
2)引起进程挂起的主要原因
①当系统中的进程均处于等待状态时,需要把一些阻塞进程对换出去,以腾出足够内存来装入就绪进程运行。
②进程竞争资源,导致系统资源不足,负荷过重,需要挂起部分进程以调整系统负荷,保证系统的实时性或使系统正常运行。
③将定期执行的进程(如审计、监控、记账程序)对换出去,以减轻系统负荷。
④用户要求挂起自己的进程,以便进行某些调试、检查和改正。
⑤父进程要求挂起后代进程,以进行某些检查和改正。
⑥操作系统需要挂起某些进程,检查运行中资源的使用情况,以改善系统性能;或当系统出现故障或某些功能受到破坏时,需要挂起某些进程以排除故。
3)两个挂起状态
①挂起就绪态(ReadySuspend):表明进程就绪但位于外存,待对换到内存后方可调度执行。
②挂起等待态(BlockedSuspend):表明进程阻塞并位于外存。


本文详细解析了进程的三态模型、五态模型以及七态模型,包括运行态、就绪态、等待态、新建态、终止态和挂起状态等,并阐述了各种状态之间的转换原因,帮助读者深入理解进程生命周期。
444

被折叠的 条评论
为什么被折叠?



