进程状态的优先级

1.进程的状态(所有系统)

因为是对于所有系统的,所以描述会很抽象。

补充知识:

并行和并发
  1. 并行:多个进程再多个cpu下分别同时运行
  2. 并发:多个进程在一个cpu下采取进程切换的方式,在一段时间内,让多个进程都得以推进,称之为并发

并发详解:

  • cpu执行进程代码,不是把进程代码执行完毕再去执行下一个,而是给每个进程分配一个时间片,每个进程每次只被cpu运行一个时间片的时间,进行轮转
  • 所以即使是死循环程序,也不会导致所有进程卡掉
  • 轮转过程用户感觉不到:因为轮换速度太快, 人类时感受不到的

时间片
  1. 目的与应用

    • 分时操作系统:旨在提高多个用户的交互体验,通过时间片轮转的方式让多个任务共享CPU资源。适用于一般计算环境,如个人计算机和服务器。
    • 实时操作系统:强调在严格的时间限制内完成任务,确保系统能在特定的时间内响应外部事件。适用于嵌入式系统、工业控制、航空航天等领域。
  2. 任务调度

    • 分时操作系统:采用时间片轮转、优先级调度等方式,任务调度相对灵活,用户等待时间可能不固定。
    • 实时操作系统:使用硬实时或软实时调度策略,确保任务在预定的时间内完成,时间敏感性高

进程具有独立性

进程间互不干扰

等待

阻塞

当cpu遇到scanf但键盘还未输入数据时,系统会把runqueque中的对应struct_task剥离下来,链接到键盘对应的device中的task_struct* wait_queue中进行等待。这叫做阻塞,task_struct从等待cpu到等待硬件设备

从键盘得到数据后,从wait_queue剥离task_struct剥离,将其状态由阻塞改为运行。并入队cpu的runqueue

task_struck等呆cpu的叫做运行,等硬件设备的叫做阻塞

运行&阻塞状态本质是让不同进程处在不同队列中

运行

该进程在cpu运行队列中,就叫做运行状态

挂起

当内存不足时,系统会挂起

挂起是时间换空间的操作

换入换出本质是I/O,会导致很慢,所以一般企业服务器会禁掉swap分区

阻塞时挂起:

当阻塞状态时,系统会把其对应数据从内存换出到磁盘,当其又运行时,系统再将其从磁盘换入到内存

磁盘中有专门swap分区,存储换入数据

运行时挂起:

运行程序过多时,系统甚至可能把runqueue队尾数据换入到磁盘

如果内存占用过多,且挂起也无法缓解,系统会kill进程保护自己

tips

CPU切换和运行的速度非常快,用户感觉不到

runqueque同一管理运行中的进程,其中节点同task_struct。cpu会运行runqueque中task_struct

进程过多导致卡顿:每次调度时间变长到人能感觉到的程度

2.linux进程状态

以具体操作系统为例可以更通俗易懂理解进程状态

各种进程状态(R S D T t X Z)

R 正在运行

S即阻塞/休眠状态

可中断睡眠,浅睡眠

D 也是阻塞/休眠状态  disk sleep

不可中断睡眠,深度睡眠

防止与磁盘I/O时,I/O失败但进程被kill导致不能处理失败,最终数据缺失

所以D状态禁止系统kill与disk有关的sleep进程

T:stopped暂停

t:trace stopped暂停,比如调试遇到断点时,被调试进程所处状态即为t

X:dead死亡状态

Z:zombie僵尸状态

状态后的+

前台进程

后台进程

tips

进程结束时要先进入Z,后进入X状态。Z状态时确认退出原因,程序结束是否正常

程序退出状态

进程结束情况相当于main函数中的return 0,可以表明进程的执行结果是否正确。进程是否正常退出

$?

$? linux中的特殊符号,代表上一个结束进程结束情况,0为正常退出

阻碍状态

循环I/O时,大部分时间是S状态,因为I/O耗时太长,很少时间是R状态

后台&前台

运行时加上空格&可转后台运行, 对应STAT没有+号

比如下载时不想看下载动画,可以把它放在后台

后台进程不能ctrl c杀死,只能kill -9

kill命令

kill -l 列出各信号

kill -19

kill -18

kill -9

板书

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

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

相关文章

echarts实现地图下钻并解决海南群岛显示缩略图

一、准备工作 1、echarts版本: ^5.5.1 2、去掉海南数据的json文件 二、获取删除过后的json文件 1、DataV.GeoAtlas地理小工具系列 (aliyun.com) 在网站输入这个复制的,新建一个json文件粘贴进去。 接下来需要删除两个地方,不要删错&…

左手研发,右手销量,比亚迪舍弃了什么?

早买早享受,晚买享折扣,是近一年来汽车消费市场的真实写照。 A级家轿价格下探至6、7万元;曾经20万起步的主流B级车,如今只要12万元就能入手;即使是BBA等豪华品牌,也开始降价促销换销量。买车更便宜了&…

【最优化】一维最优化方法:华罗庚黄金分割优选法

一、意义 华先生提倡用数学实际服务国民经济发展,受限于当时计算能力有限,华先生总结经验,提出黄金分割优选法,能够用最少的试验次数找出最优解。 二、主要内容 ①应用范围:一维单峰函数 ②算法步骤: ③详…

Qt/C++ TCP调试助手V1.1 新增图像传输与接收功能(附发布版下载链接)

发布版本链接 通过百度网盘分享的文件:TCP调试助手V1.zip(含客户端与服务器) 链接:https://pan.baidu.com/s/14LTRPChPhYdwp_s6KeyBiA?pwdcedu 提取码:cedu 基于Qt/C实现了一款功能丰富的TCP服务器与客户端调试助手…

【已解决】华为AR100-S路由器 恢复出厂后,找不到5G wifi的设置

前两帖讨论了华为AR100-S路由器: 一是用电脑浏览器访问web管理界面报错的解决,详情点这里! https://blog.csdn.net/weixin_62598385/article/details/142215136 再就是如何回复出厂,也即如何复位, 详情点这里&#xff…

微服务保护详细笔记(一):雪崩问题--Sentinel

目录 1.雪崩问题 1.1.雪崩问题产生原因: 1.2.雪崩问题解决方案 1.2.1.请求限流 1.1.2.线程隔离 1.1.3.服务熔断 1.3.微服务保护技术对比 1.4.Sentinel 1.4.1.介绍与安装 1.4.2.微服务整合 1.雪崩问题 1.1.雪崩问题产生原因: 比如查询购物车的…

SEO之页面优化(二—描述标签)

初创企业搭建网站的朋友看1号文章;想学习云计算,怎么入门看2号文章谢谢支持: 1、我给不会敲代码又想搭建网站的人建议 2、“新手上云”能够为你开启探索云世界的第一步 博客:阿幸SEO~探索搜索排名之道 2、描述标签 描述标签是H…

Tomcat CVE-2017-12615漏洞复现

1.开启环境 cd /vulhub/tomcat/CVE-2017-12615 docker-compose up -d 一键启动环境 2.在首页进行抓包 修改为put方式提交 Tomcat允许适用put方法上传任意文件类型,但不允许jsp后缀文件上传,因此我们需要配合 windows的解析漏洞. 使用put /shell.jsp…

LocalDateTime,OffsetDateTime和ZonedDateTime(上)

图片来源:https://www.cnblogs.com/yourbatman/p/14324575.html 一. LocalDate和LocalTime LocalDate:代表不含时区信息的日期,它只能表示年、月、日。它适用于记录一个日子,比如生日、纪念日、或者任何只需要日期而不需要具体时…

前端框架大比拼:React、Angular、Vue、Svelte、Ember,哪个才是你的终极选择!

前端开发框架在现代Web开发中扮演着至关重要的角色。它们不仅提高了开发效率,还改善了代码的可维护性和扩展性。以下是一些流行的前端框架及其对比,帮助你选择最适合你项目需求的框架。 1. React 优点: 生态系统丰富: React 拥有庞大的社区…

【SpringCloud】注册中心的其他实现 - Nacos

目录 注册中心的其他实现-NacosNacos简介Nacos安装下载安装包Windows解压修改单机模式启动Nacos常见问题 Linux准备安装包单机模式启动常见问题 Nacos快速上手服务注册/服务发现引入Spring Cloud Alibaba依赖引入Nacos 依赖引入Load Balance依赖 配置Nacos地址远程调用启动服务…

SpringCloud微服务实现服务熔断的实践指南

Spring Cloud是一套分布式系统的微服务框架,它提供了一系列的组件和工具,能够使我们更容易地构建和管理微服务架构。在实际开发中,由于各个服务之间的通信依赖,一旦某个服务出现故障或负载过高,可能会导致整个系统的性…

百度飞浆Paddle OCR检测和识别【OCR数据收集、标注、数据集划分、检测识别模型训练、导出模型】

文章目录 前言一、OCR数据集采集二、OCR数据标注三、划分数据集四、数据训练五、导出模型 前言 1、我的电脑没有GPU,如果不使用AI Studio训练的话,第一遍我是按照CPU进行环境配置和训练的,可以参考这篇文章,我按着弄了一遍&#…

深度学习(一)——CMC特刊推荐

点击蓝字 关注我们 特刊征稿 01 期刊名称: Multimedia Security in Deep Learning 截止时间: 提交截止日期:2024年9月30日 目标及范围: 题为“深度学习中的多媒体安全”的特刊是一个平台,旨在推动深度学习在多媒体安全领域的创…

山体滑坡检测系统源码分享

山体滑坡检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

(黑马点评)八、实现签到统计和uv统计

8.1 签到统计系列功能 8.1.1 认识BitMap结构 BitMap是Redis基于String实现的一种高效的二进制数位的数据结构。因此一个BItMap的最大上线为512M,转为bit位可表示 2^32位 常见命令 SETBIT:向指定位置(offset)存入一个0或1 GETBIT …

CST软件超表面---电容或变容二极管调焦反射镜

可变焦的超表面(focus tunable metasurface)类型反射镜具有超薄、智能可控等特点,可用于成像、显微等应用。而且经常有朋友问如何用电容或二极管调控超材料,这期我们就用个简单的案例看看调控效果。 1. 单元仿真 单元尺寸我们用1…

【原创教程】电气电工20:一文弄透电气电工辅材

电气电工这些知识点,我们描述的比较细,虽然看起来比较简单,但是它是后面我们技能提升的基础,如果我们后面学电气工程师相关知识,这些都属于基本功。 接着我们来看一下电气辅材。 电气辅材定义: 电气辅材是指与电气设备固有的元器件配套使用的配件和器具。常见的电气辅…

Python “函数” ——Python面试100道实战题目练习,巩固知识、检查技术、成功就业

本文主要是作为Python中函数的一些题目,方便学习完Python的函数之后进行一些知识检验,感兴趣的小伙伴可以试一试,含选择题、判断题、实战题、填空题,答案在第五章。 在做题之前可以先学习或者温习一下Python的函数,推荐…

构建高效用户中心的技术方案

一、架构设计 在设计用户中心时,首先要考虑其架构。推荐采用微服务架构,这样可以将不同功能模块独立开来,便于后期维护和扩展。例如,可以将用户注册、登录、信息管理、权限控制等功能分为不同的服务模块。 二、前端开发 前端是…