【Linux操作系统】关于深度睡眠与浅度睡眠进程的理解

news2024/11/25 7:15:10

目录

  • 一、可中断的睡眠状态(S浅度睡眠状态)
  • 二、不可中断的睡眠状态(D深度睡眠状态)
  • 三、关于S浅度睡眠状态与D深度睡眠状态的理解

一、可中断的睡眠状态(S浅度睡眠状态)

S(sleeping)在本质上也是阻塞状态的一种,可以说是阻塞的一种分支

S状态是Linux中可中断的睡眠状态,表示进程正在等待某个事件或资源

S状态下的进程可以被信号或中断唤醒并继续执行。

在这种状态下,进程无法继续执行,因为它需要等待的资源或事件尚未发生。

此时进程不会占用CPU资源,操作系统会调度其他可执行的进程

等待某个事件或资源的完成后或者接收到信号,又会自动回到运行状态

例如我们平时的命令行等待我们输入命令时就是一个浅度睡眠状态
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将进程运行起来我们可以看到其是S+的状态,因为命令行此时正在等待用户的输入,遇到I/O操作。

二、不可中断的睡眠状态(D深度睡眠状态)

D状态是Linux中不可中断的睡眠状态,也称为磁盘睡眠状态。在这种状态下,进程正在等待磁盘I/O操作或其他无法被中断的硬件操作完成。

进程无法响应任何信号或中断,除非是设备断电了等物理因素。

进程只能等待操作完成后才能继续执行。

三、关于S浅度睡眠状态与D深度睡眠状态的理解

学了挂起状态,我们可以知道,在内存不足时,会通过挂起状态来释放我们的内存

但是如果在极端情况下,即使挂起状态释放内存也不够呢?这时操作系统就没办法了,只能亲自动手开始杀进程了

但是这时用户有一个特别重要的信息要通过进程写入磁盘,但这个进程又刚好被操作系统杀了呢?这可就麻烦了,信息丢失可是个大问题
在这里插入图片描述

于是为了保证某些正在干重要事情的进程不被杀掉,给这些进程加了一块“免死金牌” D状态,操作系统在杀进程时,如果进程只是一个普通的‘S’,操作系统可以杀,但如果是‘D’,那么因为有免死金牌,操作系统不能杀

这个免死金牌具体来说就是给该进程的状态设置为深度睡眠状态。那么这个进程就不会被杀死了,当磁盘写完数据后告知进程,那么它就可以将自己放入【运行队列】里去运行,此时它的状态就变成R了

D状态的话操作系统是没有办法将其杀掉的,而是要等到磁盘写入完毕或者什么事情执行完毕后其才会去自动结束这个进程,或者是在外部断电、直接拔掉电源即可

那如果D状态的进程特别多呢?

一般系统中D状态的进程是很少见的,如果你看到了D状态的进程,那就说明你的系统里挂不远了,洗洗睡吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1986187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用阿里云镜像仓库创建属于自己的私有镜像仓库

阿里云官网:https://www.aliyun.com/ 在阿里云官网注册账号,然后进入控制台 选择容器镜像服务 创建命名空间 创建镜像仓库 选择命名空间,仓库类型(设为私有的话,镜像不能随意拉取) 点管理 按以下步骤将…

炒黑豆:营养与美味的黑色宝藏

在众多的美食中,炒黑豆宛如一颗低调的黑色珍珠,散发着独特的魅力。食家巷炒黑豆,看似简单,却蕴含着不简单的营养价值。黑豆本身富含蛋白质、维生素、矿物质等多种营养成分,经过炒制之后,其香味被进一步激发…

(javaweb)Http协议

目录 一.http概述 二.Http-请求协议 三.Http响应协议 四.Http协议解析 一.http概述 ---复制这个位置会自动前面有http 浏览器给服务器发送请求携带请求数据,服务器解析数据,服务器前提需要知道具体格式等等--约定 服务器处理完请求,需要给…

jpg图片怎么批量转为png?jpg图片批量转为png的几种方法

jpg图片怎么批量转为png?在处理大批量的jpg图片,并将它们转换为png格式时,选择合适的工具和策略至关重要。这种转换通常涉及到不同的应用场景和需求,例如在网页设计中需要透明背景,或者在打印工作中需要更高的图像质量…

AOP学习

AOP概述 AOP(Aspect Oriented Programming):⾯向切⾯编程,它是⼀种思想,它是对某⼀类事情的集中处理。 什么是SpringAOP? ⽽ AOP 是⼀种思想,⽽ Spring AOP 是⼀个框架,提供了⼀种对 AOP 思…

速看!2025第三届深圳国际生态环境监测产业博览会

2025第三届深圳国际生态环境监测产业博览会 展会主题:生态环境智慧监测创新,助力生态环境高水平保护 展会时间:2025年7月24-26日 展会地点:深圳会展中心(福田) 主办单位: 广东省环境监测协…

Flutter 学习之旅

本文只针对个人学习所遇问题,以及解决方案进行记录,不深刨原理。 不深刨原理是因为我也才开始学习,讲不明白,有可能还误导大家 ,希望多多包涵。 问题一: 如何通过appBar去设置状态栏字体颜色以及状态栏透…

关于消息队列,共享内存相关作业

1>使用消息队列完成两个进程之间相互通信 1.c #include<myhead.h> //消息类型 struct msgbuf {long mtype; //消息类型char mtext[1024];//消息数据 }; #define SIZE sizeof(struct msgbuf)-sizeof(long) int main(int argc, const char *argv[]) {//创建一个进程pid…

虚拟机能访问网页但ping不通百度

最近遇到了奇怪的问题&#xff0c;虚拟机能访问网页&#xff0c;但ping不通百度&#xff0c;记录一下问题的排查过程。 能访问网页&#xff0c;说明DNS、TCP和HTTP没有问题&#xff0c;ping不通&#xff0c;说明ICMP应该出了问题。 首先通过traceroute追踪报文的转发过程&…

算法板子:最短路问题——包含朴素Dijkstra算法、堆优化版的Dijkstra算法、SPFA算法、Floyd算法

目录 1. 几种算法的用途2. Dijkstra算法——求源点到其他所有点的最短路径(不能处理负边权)&#xff08;1&#xff09;朴素Dijkstra算法——适用于稠密图&#xff08;2&#xff09;堆优化版的Dijkstra算法——适用于稀疏图 4. SPFA算法——求源点到其他所有点的最短路径、判断是…

孤独行走的视频素材去哪里找?孤独的人的视频素材哪里找啊

在视频创作和情感表达的项目中&#xff0c;选择合适的孤独行走视频素材尤为重要&#xff0c;因为这种素材能够有效传递人物的情绪状态&#xff0c;增强作品的情感层次。下面将介绍几个优质的视频素材平台&#xff0c;以帮助您更方便地寻找到适合表达孤独与深思的高质量视频素材…

C#基础——泛型

泛型 C# 中的泛型是一种强大的编程特性&#xff0c;它允许你编写类型安全且灵活的代码。泛型允许你定义类、结构体、接口、方法和委托&#xff0c;而不必在编译时指定具体的数据类型。相反&#xff0c;你可以使用类型参数来定义泛型类型或方法&#xff0c;然后在使用时指定具体…

免费的SD-WAN服务

SD-WAN&#xff0c;SASE&#xff0c;零信任是近年来比较火的概念&#xff0c;SD-WAN发展已经很久了&#xff0c;但是真正能够自主研发做SD-WAN的企业其实并不算太多。 比扬云的SD-WAN产品是自主研发的&#xff0c;可控性强&#xff0c;最重要的是具有免费版本&#xff0c;可以免…

C#使用NPOI进行Excel和Word文件处理(二)

文章目录 使用NPOI在C#中处理Excel和Word文件1. 什么是NPOI&#xff1f;2. 安装NPOI2.1 VisualStudio2019引入NPOI 3. 处理Excel文件读取Excel文件写入Excel文件 4. 处理Word文件读取Word文件写入Word文件 总结Github 地址链接参考例子 使用NPOI在C#中处理Excel和Word文件 在C…

软件生命周期(二)

1. 软件生命周期定义 软件生命周期&#xff08;SDLC&#xff09;是软件开始研制到最终废弃不用所经历的各个阶段 – 软件开发模型 2. 瀑布型生命周期模型 瀑布模型规定自上而下&#xff0c;相互衔接的固定次序&#xff0c;如同瀑布流水&#xff0c;逐级下落&#xff0c;具有…

探索全光网技术 | 全光网络技术方案选型建议三(医院场景)

目录 一、场景设计需求二、医院场景拓扑三、部署方式四、产品相关规格说明五、方案优势与特点 注&#xff1a;本文章参考资料为&#xff1a;华三官方资料 - “新华三全光网络3.0解决方案&#xff08;教育&#xff09;”与 锐捷官方资料 - “【锐捷】高校极简以太全光3.X方案设计…

c++ + linux+cmake编译动态库+so调用

步骤如下&#xff1a; 1. 创建动态库2. 编译动态库3. 使用动态库4. 编译程序并链接动态库5. 运行程序 1. 创建动态库 // hello.cpp #include <iostream> #include <string> using namespace std; int hello(string a) {cout << "hello "<< …

树状数组基础知识以及相关习题

文章目录 什么是树状数组&#xff1f;如何理解树状数组如何理解精髓lowbit二叉树和树状数组的结构树状数组的优点树状数组模板单点修改&#xff0c;区间查询区间修改&#xff0c;单点查询区间修改&#xff0c;区间查询树状数组法线段树法 树状数组基础练习题逆序对动态求连续区…

C语言进阶版第六课—操作符

文章目录 1. 操作符的分类2. 原码、反码、补码3. 移位操作符4. 位操作符4.1 位操作符详解4.2 练习4.2.1 不能创建临时变量&#xff0c;实现两个整数的交换4.2.2 求一个整数存储在内存中的二进制1的个数4.2.3 判断一个数是不是2的次方数4.2.4 将二进制第n位置0或置1 5. 逗号表达…

git拉代码

第一步 第二步 第三步