当前位置: 首页 > news >正文

【操作系统】进程三种状态?进程间状态的切换?挂起态?

进程状态
  • 进程的五种(三种)状态:

    • 新建(New):进程刚被创建,尚未加入到就绪队列;
    • 就绪(Ready):进程已获得除CPU外的所有资源,等待被调度执行。多个就绪进程存放在就绪队列
    • 运行(Running):进程正在CPU上执行命令(单核CPU同一时刻仅有一个进程处于运行状态)
    • 阻塞(Blocked/Wait):进程因等待外部事件(如I/O完成、信号量释放等)暂停执行,即使分配CPU也无法运行。处于阻塞队列
    • 终止(Terminated):进程执行完毕或被强制终止,操作系统回收其资源(内存、文件句柄等)
  • 进程间状态的切换:
    在这里插入图片描述

    1. 新建 → 就绪
      • 触发条件:操作系统完成进程创建(分配内存、初始化PCB等)。
    2. 就绪 → 运行
      • 触发条件:调度程序选中该进程(如时间片轮转、优先级调度)。
    3. 运行 → 就绪
      • 触发条件
        • 时间片用完(分时系统)。
        • 更高优先级进程抢占CPU(抢占式调度)。
    4. 运行 → 阻塞
      • 触发条件:进程主动等待资源或事件,如:
        • 发起I/O请求(读文件、网络通信)。
        • 申请互斥锁失败。
        • 调用sleep()等阻塞式系统调用。
    5. 阻塞 → 就绪
      • 触发条件:等待的事件完成(如I/O结束、锁释放),由中断或信号通知操作系统。
    6. 运行 → 终止
      • 触发条件
        • 进程正常结束(执行exit())。
        • 发生致命错误(如段错误)。
        • 被其他进程强制终止(如kill命令)。
    7. 其他状态 → 终止
      • 触发条件
        • 父进程终止子进程(如从就绪或阻塞状态直接终止)
  • 进程状态模型扩展:挂起态:

    • 引入原因:缓解内存空间不足,将进程暂时换到外存
    • 新增状态:
      • 就绪挂起态:进程在外存,可被激活到就绪态
      • 阻塞挂起态:进程在外存,等待事件(事件完成后激活到就绪态)
    • 情况示例:
      • 运行 → 就绪挂起:内存不足时,操作系统挂起低优先级进程。
      • 阻塞挂起 → 就绪:事件完成且内存可用时,进程被激活回内存。

相关文章:

  • html css 网页制作成品——HTML+CSS非遗文化扎染网页设计(5页)附源码
  • nvm 切换node 版本 但是没有带星号*
  • Vue 中directive的钩子函数(bind、inserted 等)的作用及使用场景
  • Spring Boot 的启动流程
  • Prompt Engineering:如何写出更高效的提示词?
  • qwindowkit 编译教程
  • 个人博客系统系统~测试报告
  • Linux UDP网络编程套接字sockets
  • 6.2 模拟专题:LeetCode 495. 提莫攻击
  • 基于python脚本实现的打砖块小游戏
  • jenkins+1panel面板java运行环境自动化部署java项目
  • 二分查找(java)
  • 大模型金融企业场景落地应用
  • 2021陇剑杯取证
  • [学习笔记]攻防世界-bug
  • 绿色暴政:Relax Max如何用军工科技定义环保新标准
  • 分布式数据集容错性两种方式解析
  • PTA | 连续因子
  • 迁移mysql8到达梦8
  • 护网(蓝中)DNS面试题
  • 台湾关闭最后的核电,岛内担忧“非核家园”缺电、涨电价困局难解
  • 看展 | 黄永玉新作展,感受赤子般的生命力
  • 蔡建忠已任昆山市副市长、市公安局局长
  • 上海交大曾小勤:科技传播不应停留于知识搬运,要做科学思维的播种机
  • 北京韩美林艺术馆党支部书记郭莹病逝,终年40岁
  • 广西百色“致富果”:高品质芒果直供香港,带动近五千户增收