资讯动态

进程状态与转换详解

发布时间:2026/9/9 23:36:38 来源:尧图企业网站定制
进程是操作系统进行资源分配和调度的基本单位其生命周期由一系列状态及状态间的转换构成 。理解这些状态及其转换是掌握进程管理的关键。常见的描述模型包括三态、五态和七态模型。一、核心状态模型1. 三态模型三态模型是描述进程状态最基本、最核心的模型包括运行态、就绪态和阻塞态也称等待态。状态描述示例运行态进程已获得CPU其指令正在处理器上执行。一个正在计算圆周率的程序。就绪态进程已具备运行所需的所有条件除CPU外等待被调度器选中。多个后台任务等待CPU时间片。阻塞态进程因等待某个事件如I/O完成、信号量而暂停执行即使CPU空闲也无法运行。程序等待用户键盘输入。2. 五态模型五态模型在三态基础上增加了新建态和终止态更完整地描述了进程的生命周期 。状态描述触发条件示例新建态进程刚被创建操作系统正为其分配资源如PID、内存。用户双击程序图标或命令行输入命令。终止态进程已结束运行操作系统正回收其占用的资源。程序执行完毕或收到终止信号。3. 七态模型七态模型在五态模型基础上引入了挂起概念以解决内存资源紧张的问题。挂起态进程的映像被交换到外存二级存储器。挂起就绪态进程在外存中但已具备运行条件。挂起阻塞态进程在外存中并正在等待某个事件。二、状态转换详解状态间的转换由特定事件触发以下是主要转换路径及原因。1. 基本转换三态模型内graph LR A[就绪态] -- 被调度器选中 -- B[运行态] B -- 时间片用完/被更高优先级进程抢占 -- A B -- 等待I/O/信号等事件 -- C[阻塞态] C -- 等待的事件发生 -- A就绪态 - 运行态进程被操作系统的调度程序选中获得CPU使用权 。运行态 - 就绪态通常因为时间片耗尽或被更高优先级的就绪进程抢占 。运行态 - 阻塞态进程主动请求并等待系统资源或事件如进行I/O操作、申请互斥锁失败、等待子进程结束等 。阻塞态 - 就绪态进程所等待的事件已发生如I/O完成、收到信号重新具备了运行资格 。2. 生命周期起止转换新建态 - 就绪态操作系统完成进程创建和资源分配将其加入就绪队列等待调度 。运行态 - 终止态进程执行完毕或被强制终止如发生致命错误、被用户杀死。进入终止态后操作系统进行资源回收等善后工作。3. 挂起相关转换挂起通常由操作系统或用户父进程发起目的是腾出内存。就绪态 - 挂起就绪态操作系统需要释放内存将暂时不会运行的进程换出。阻塞态 - 挂起阻塞态同样为释放内存将处于长期等待的进程换出。挂起就绪态 - 就绪态当内存有足够空闲且需要激活该进程时将其映像换入内存。挂起阻塞态 - 阻塞态进程被换入内存但其等待的事件仍未发生故转为阻塞态。运行态 - 挂起就绪态直接一个运行中的进程也可能被挂起这通常发生在交互式系统中用户主动挂起前台进程时。三、应用实例与系统视角在Linux系统中可以使用ps aux命令查看进程状态常见状态字母包括R (Running)运行或就绪。S (Sleeping)可中断的休眠阻塞。D (Disk Sleep)不可中断的休眠通常与磁盘I/O相关深度阻塞。T (Stopped)暂停状态如收到SIGSTOP信号。Z (Zombie)僵尸态进程已终止但资源未完全回收 。状态转换的意义在于它使得操作系统能够通过有限的CPU资源让多个进程并发执行提高系统利用率。调度器根据状态和策略决定哪个就绪进程获得CPU当进程阻塞时CPU可立即切换到其他就绪进程避免空闲等待 。挂起机制则通过平衡内存与CPU的负载进一步提升系统整体性能和资源管理效率。参考来源进程的状态转换详解操作系统之进程的状态和转换详解操作系统之进程的状态和转换详解操作系统之进程的状态和转换详解【操作系统】进程的状态及转换【进程与线程】进程的状态

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价