进程状态

广义概念:

从广义上来讲,进程分为新建、运行、阻塞、挂起、退出五个状态,其中新建和退出两个状态可以直接理解字面意思。
运行状态:
这里涉及到运行队列的概念,CPU在读取数据的时候,需要把内存中的进程放入运行队列之中依次执行,我们一般认为只要一个进程在运行队列之中,无论当前CPU是否正在处理它,这个进程的状态都是运行状态。
阻塞状态:
一些进程可能需要在运行过程中发生向磁盘写入或读取数据的操作,我们知道磁盘的速度是相对较慢的,当操作系统认为某一个进程需要消耗一定时间与磁盘交互的时候,就会暂时将它移出运行队列(否则就浪费CPU资源了),当然进程与磁盘交互也是要讲求顺序的,我们称之为等待队列。
挂起状态:
按我的看法来,挂起状态是阻塞状态的一种极端,当内存空间非常有限的情况下,一些进程由于迟迟不能完成与外设的交互,处于一种占着茅坑不拉屎的状态,操作系统当然要对这种进程予以一定的管理,通常会把此进程信息置换到磁盘中的swap分区中,等待合理实际再次调度。

Linux下的进程状态:

Linux的进程大致分为6中,分别是运行R、睡眠S、休眠D、停止T、僵尸Z、死亡X,R对应运行,S、D、T对应阻塞,X、Z对应退出

下面我们通过实现来观察一下部分进程状态
R运行:在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9f204d1262cb4b30913d3b717fed9150.png在这里插入图片描述

睡眠S:
在这里插入图片描述
在这里插入图片描述

(printf的过程就是在与外设交互的过程)

————————————————————

一般我们把S状态成为可中断睡眠,通俗一点讲就是一个进程正在等待队列之中,但交互迟迟没有完成,操作系统便会讲该进程挂起。而D状态又称不可中断睡眠,如果不得到需要的数据,就会一直抢占着空间。T则是直接暂停一个进程。

僵尸进程:
指的是一个已经执行完却仍然占据内存空间的一个将死进程,正在等待其父进程对它进行检验回收,一般在父进程比子进程迟结束的时候发生,过多的僵尸进程会浪费空间资源。

下面来模拟一个僵尸进程:
在这里插入图片描述
在这里插入图片描述

孤儿进程:

通过fork之后会形成一对父子进程,一般情况下子进程结束后是需要父进程来帮助回收资源的,但是有些时候父进程可能比子进程先退出,子进程就丧父了,这种情况下的子进程我们称之为孤儿进程。
但是孤儿进程不像僵尸进程一样会浪费资源,在一个进程成为孤儿进程后,将有1号init进程领养帮助其回收。

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

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

相关文章

Word docx文件重命名为zip文件,解压后直接查看和编辑

一个不知道算不算冷的知识[doge]: docx格式的文件本质上是一个ZIP文件 当把一个.docx文件重命名为.zip文件并解压后,你会发现里面包含了一些XML文件和媒体文件,它们共同构成了Word文档的内容和格式。 例如,word/document.xml文件…

C++ STL string详解

1. string简介 C语言中,可以用字符数组来存储字符串,如: char ch[] "hello world"; C中,可以使用string类对象来存储字符串,使用起来比C语言中的字符数组要方便得多,而且不用考虑容量的问题。…

Leetcode-103. 二叉树的锯齿形层序遍历

这个年和树过不去啦啦啦! 题目: 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 示例 1&…

Linux设置jar包开机自启动

步骤 1、新建jar包自启文件 sudo vi /etc/init.d/jarSysInit.sh 按i键进入编辑模式输入以下内容: export JAVA_HOME/home/jdk/jdk-11.0.22 export CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar export PATH$PATH:$JAVA_…

跟着pink老师前端入门教程-day26

一、计算机编程基础 (一)编程语言 1、编程 编程:就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。 计算机程序:就是计算机所执行的一系列的指令集合,而程序全部…

二叉搜索树题目:递增顺序搜索树

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 后记 题目 标题和出处 标题:递增顺序搜索树 出处:897. 递增顺序搜索树 难度 3 级 题目描述…

P1498 南蛮图腾题解

题目 给定一个正整数n,参考输出样例,输出图形。 输入输出格式 输入格式 每个数据输入一个正整数n,表示图腾的大小(此大小非彼大小) 输出格式 这个大小的图腾 输入输出样例 输入样例 2 输出样例 /\/__\/\ /\…

HTTP缓存技术

大家好我是苏麟 , 今天说说HTTP缓存技术 . 资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) HTTP缓存技术 HTTP 缓存有哪些实现方式? 对于一些具有重复性的 HTTP 请求,比如每次请求得到的数据都一样的,我们可以把这对「请求-响…

【mysql】数据约束

一、数据约束: 什么是约束? 为了确保表中的数据的完整性(准确性、正确性),为表添加一些限制。是数据库中表设计的一个最基本规则。使用约束可以使数据更加准确,从而减少冗余数据(脏数据)。 数据库完整性约…

84 CTF夺旗-PHP弱类型异或取反序列化RCE

目录 案例1:PHP-相关总结知识点-后期复现案例2:PHP-弱类型对比绕过测试-常考点案例3:PHP-正则preg_match绕过-常考点案例4:PHP-命令执行RCE变异绕过-常考点案例5:PHP-反序列化考题分析构造复现-常考点涉及资源&#xf…

【HTML】过年不能放烟花,那就放电子烟花

闲谈 大家回家过年可能都多多少少放过些🧨,但是有些在城市上过年的小伙伴可能就没有机会放鞭炮了。不过没关系,我们懂技术,我们用技术自娱自乐,放电子烟花,总不可能被警长叔叔敲门问候吧。 开干 首先&…

Redis篇----第一篇

系列文章目录 文章目录 系列文章目录前言一、什么是 Redis?二、Redis 与其他 key-value 存储有什么不同?三、Redis 的数据类型?四、使用 Redis 有哪些好处?五、Redis 相比 Memcached 有哪些优势?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住…

Spring 用法学习总结(四)之 JdbcTemplate 连接数据库

🐉目录 9 JdbcTemplate 9 JdbcTemplate Spring 框架对 JDBC 进行了封装,使用 JdbcTemplate 方便实现对数据库操作 相关包: 百度网盘链接https://pan.baidu.com/s/1Gw1l6VKc-p4gdqDyD626cg?pwd6666 创建properties配置文件 💥注意…

分布式文件系统 SpringBoot+FastDFS+Vue.js【二】

分布式文件系统 SpringBootFastDFSVue.js【二】 六、实现上传功能并展示数据6.1.创建数据库6.2.创建spring boot项目fastDFS-java6.3.引入依赖6.3.fastdfs-client配置文件6.4.跨域配置GlobalCrosConfig.java6.5.创建模型--实体类6.5.1.FastDfsFile.java6.5.2.FastDfsFileType.j…

vscode 和 keil协同使用开发stm32程序,超详细教程

vscode 和 keil协同使用开发stm32程序 文章目录 vscode 和 keil协同使用开发stm32程序1. 安装vscode拓展安装chinese插件 2 .安装Mingw3.配置环境变量4. 打开Keil项目 VSCODE 是一款广受好评的代码编辑器, KEIL 是常用的嵌入式开发工具但编程界面简陋。 将两个工具…

npm使用国内淘宝镜像(最新地址)

目录 前言 一、命令配置 二、使用cnpm安装 三、常见包地址 四、总结 往期回顾 前言 我们前端程序员在使用国外的镜像源速度很慢并且容易下载失败,有时候需要尝试多次才有可能下载成功,很麻烦,但是可以切换为国内镜像源,下…

BigDecimal的常用API

BigDecimal用于解决浮点型运算时结果出现失真的问题。 这里0.20.1等于0.3就出现了失真 import java.math.BigDecimal; import java.math.RoundingMode;public class Test {public static void main(String[] args) {//BigDeciaml的使用:解决小数运算失真的问题doub…

微信网页版能够使用(会顶掉微信app的登陆)

一、文件结构 新建目录chrome新建icons,其中图片你自己找吧新建文件manifest.json新建文件wx-rules.json 二、文件内容 对应的png你们自己改下 1、manifest.json {"manifest_version": 3,"name": "wechat-need-web","author…

C语言第二十五弹---字符函数和字符串函数(上)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 目录 1、字符分类函数 2、字符转换函数 3、strlen的使用和模拟实现 4、strcpy 的模拟实现 5、strcat 的模拟实现 6、strcmp 的模拟实现 7、strncpy 函数的使用 总结…

Excel练习:日历

Excel练习:日历 ‍ 题目:制作日历 ‍ ​​ 用rows和columns函数计算日期单元格偏移量 一个公式填充所有日期单元格 ​​ ‍