2026/2/17 13:12:38
网站建设
项目流程
网站后台系统访问,谷歌google浏览器,中国著名的网站建设公司,蒙自做网站的公司【软考每日一练005】别被字面意思骗了#xff01;从“资源拥有”本质看透进程状态转换一、 经典原题与一个直觉误区
题目#xff1a; 当一个进程被一个更高优先级的进程抢占或其时间片用完时#xff0c;其状态会从执行态转变为#xff08; #xff09;。
A. 阻塞态
B. 就绪…【软考每日一练005】别被字面意思骗了从“资源拥有”本质看透进程状态转换一、 经典原题与一个直觉误区题目当一个进程被一个更高优先级的进程抢占或其时间片用完时其状态会从执行态转变为 。A. 阻塞态B. 就绪态C. 睡眠态D. 挂起态用户的疑问“既然进程被‘抢占’了它不就动不了了吗动不了不就是被‘阻塞’了吗为什么是就绪态”核心答案操作系统划分状态的依据不是进程“能不能动”而是进程到底“缺什么”。二、 本质逻辑资源拥有矩阵理解状态转换最快的方法是看进程对处理机CPU和其他资源I/O、锁、信号量的占有情况。进程状态是否拥有 CPU是否拥有其他运行资源状态本质缺什么运行态 (Running)是是什么都不缺正在跑。就绪态 (Ready)否是只缺 CPU。万事俱备给我就能跑。阻塞态 (Blocked)否否既缺 CPU也缺资源/事件。给我 CPU 也跑不了。为什么抢占是“就绪”而不是“阻塞”当高优先级进程抢走 CPU 时原进程并没有丢失任何其他资源它的内存数据、打开的文件、申请到的锁都在。它此时的状态是“我所有东西都准备好了只是暂时没轮到我用 CPU。”按照矩阵这完美符合就绪态的定义。三、 五状态模型生命周期的完整抽象在基础状态上增加了“出生”和“死亡”构成了现代操作系统的基本调度框架。创建态 (New)正在分配 PCB 和初步资源。就绪态 (Ready)资源已满只待东风CPU。运行态 (Running)正在 CPU 上纵横驰骋。阻塞态 (Blocked)进程主动放弃 CPU去等 I/O 或信号量。终止态 (Terminated)功成身退回收资源。转换实例运行 阻塞主动进程执行到read(file)。它发现文件还没读完于是对系统说“我先睡会儿文件读好了叫我。”运行 就绪被动进程正跑得欢系统闹钟响了时间片到或者被“大佬”高优先级踢下台。它很无奈“我还能跑但 CPU 不给我了我去队列排队。”四、 七状态模型引入“内存资源”维度当内存RAM这个资源也告急时操作系统引入了**挂起Suspend机制。这时我们需要在矩阵中引入“内存”**这一维度。挂起态的本质进程的代码和数据被挪到了外存磁盘交换区。状态名称所在位置状态本质就绪挂起 (Ready-Suspend)外存缺 CPU 缺内存。一旦调回内存立刻变就绪。阻塞挂起 (Blocked-Suspend)外存缺 CPU 缺内存 缺事件。最惨的状态啥都缺。五、 考点总结如何一眼识破答案在考试或面试中判断状态转换只需要问自己两个问题1. 是谁发起的动作进程自己发起的请求 I/O、等锁、调用 sleep 必入阻塞态。系统强加给进程的时间片到、高优先级抢占 必入就绪态。2. 进程还差什么只差 CPU就绪。差 CPU 以外的任何东西阻塞。连内存都没了挂起。结语进程状态的命名虽然带点拟人色彩但其背后是一套严谨的资源管理逻辑。记住就绪是“万事俱备”阻塞是“等待资源”挂起是“被踢出内存”。