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

【操作系统】(详细理解进程的状态)执行状态、就绪状态、阻塞状态、挂起状态

下面是进程的几种状态的概念:

执行状态:当一个进程已获得必要资源,并占有CPU进行执行。

就绪状体:进程已分配到除CPU外的所有必要资源,只要获取CPU允许就可立即执行。

阻塞状态:正在执行的进程,由于等待外设输入/输出(或输入输出完成)而暂时停止在CPU中被执行。

挂起状态:指进程的代码数据资源暂时离开内存,进入到外设(一般是磁盘内存中),以节省操作系统里的内存(这种情况是操作系统内存资源不足时才有的)。

挂起状态分为:阻塞挂起和就绪挂起。

谈一下执行态和就绪态:

在操作系统中,我们可以将处于就绪态的进程理解成:这些就绪态进程将自己的PCB储存在一个双链表数据结构队列中,CPU只识别进程的PCB就可以准确的执行某个进程了,这样一来就绪态进程就可以高效的被CPU所执行,而不是那种混乱式的执行,调度器在就绪态的进程中进行筛选以确定哪一个进程被CPU执行。每一个进程所被CPU执行的时间(时间片)都不会相差太多,因为只有这样操作系统中的每个需要被执行的进程才可以执行,否则就会出现某个程序执行时间太长导致其他程序无法执行的情况。大量的把进程从CPU拿上去放下来的动作成为进程切换,CPU会同时执行多个进程被称为并发执行

谈一下阻塞态和挂起态:

进程的阻塞状态其实就是进程等待外设响应的状态,如:当我们现在有一个程序其中包含scanf函数,数据资源必须通过键盘输入到内存中,但是如果程序中的scanf函数已经执行,但是我们并没有从键盘输入数据,此时该进程就处于 阻塞状态 了。同样,当我们执行printf函数在显示器上打印数据时,显示器接收该数据需要一定的时间(此时间对我们老说肯定是没有多大意义的,但是对计算机系统来说是有意义的),这段时间(进程等待显示器成功接收数据的时间)相应的进程就处于阻塞状态。(进程不能直接从阻塞状态转换为执行状态,因为只有被调度的进程才可以转换为执行态,而只有就绪态在可以被调度,因此阻塞态必须转换为就绪态,有就绪态转换为执行态)。

下面我们来谈一下挂起状态:挂起状态是对于执行态和阻塞态的进程而言。当操作系统内部的内存资源严重不足时,就会将自己内存中的进程的数据和代码交换到外设中(一般都是磁盘,磁盘的内存足够大),从而节省内存资源供其他进程使用。如下图,当然在一定条件下,被挂起的进程数据代码是可以再加换到操作系统中的。

http://www.lryc.cn/news/364068.html

相关文章:

  • C++ -- string常用接口的底层实现
  • 怎么做好企业短信服务呢?(文字短信XML接口示例)
  • 鸿蒙小案例-音乐播放器
  • 语言模型测试系列【9】
  • 优思学院|质量工程师工资不高怎么办?
  • 【面向就业的Liux基础】从入门到熟练,探索Linux的秘密(一)
  • 高效数据处理的前沿:【C++】、【Redis】、【人工智能】与【大数据】的深度整合
  • Vitis HLS 学习笔记--控制驱动与数据驱动混合编程
  • VUE3 学习笔记(12):对比Vuex与Pinia状态管理的基本理解
  • 区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测
  • TypeScript算法每日一题:赎金信(383)
  • springboot 作为客户端接收服务端的 tcp 长连接数据,并实现自定义结束符,解决 粘包 半包 问题
  • kuka编程怎么加中文:解锁KUKA机器人编程中的中文支持
  • hadoop集群中zookeeper的搭建与原理解释
  • HTML静态网页成品作业(HTML+CSS)—— 父亲节节日介绍网页(4个页面)
  • Client ID 与Client Secret
  • React中实现大模型的打字机效果
  • 十二、配置注解执行SQL
  • 阿里云计算之运维概念学习笔记(一)
  • 异常概述
  • 【Postman接口测试】第五节.Postman接口测试项目实战(下)
  • 医用腕带朔源用的条形码与二维码如何选择
  • “Kubectl 如何工作案例:编写自定义 Kubectl 命令
  • opencv-python(五)
  • 免费生物蛋白质的类chatgpt工具助手copilot:小分子、蛋白的折叠、对接等
  • Mybatis01-初识Mybatis
  • 算法课程笔记——基础数据结构 堆
  • 边缘数据采集网关为企业提供高效、安全、可靠的数据采集解决方案-天拓四方
  • 鸿蒙开发接口安全:【@ohos.security.huks (通用密钥库系统)】
  • 黄仁勋:打破摩尔定律,机器人时代来了