进程七态及挂起和阻塞的区别

Linux中进程的阻塞和挂起的区别 本文主要介绍了 Linux中进程的阻塞和挂起的区别。 立即下载
AI摘要

本文深入讲解了进程的各种状态,包括创建、终止、挂起、激活、活动就绪、静止就绪、活跃阻塞和静止阻塞。阐述了挂起与阻塞的区别,以及在内存不足时进程可能处于的状态。

基本概念

  • 创建状态:指进程因资源尚未满足,创建工作未完成,不能执行的状态
  • 终止状态:指进程终止不再执行,系统删除该进程,将PCB清零,回收PCB
  • 挂起操作:将进程从主存中移至外存中
  • 激活操作:将进程从外存中移到内存中
  • 活动就绪:指进程在内存中一旦获得处理器就可以执行的状态
  • 静止就绪:指进程在外存中不能被直接调度的就绪状态,只有当主存中没有活跃就绪态进程,或者是挂起态进程具有更高的优先级,系统将把挂起就绪态进程调回主存并转换为活跃就绪。
  • 活跃阻塞:指进程在内存中等待的事件发生的状态,一旦事件发生便进入活跃就绪状态。
  • 静止阻塞:指进程因挂起操作在外存中等待事件发生的状态,一旦等待的事件产生,便进入静止就绪状态。
    在这里插入图片描述

挂起和阻塞的区别?

  • 挂起是一个行为,而阻塞是进程的一种状态

  • 进程存放的位置不同:挂起是将进程移到外存中,而处于阻塞状态的进程还是在内存中

  • 原因不同:导致进程被挂起的原因一般是内存不足或者是系统、用户的请求,协调、修改进程,研究进程的状态等,进程阻塞是进程正在等待某一事件发生,可能是等待资源或者响应等(eg.等待I/O完成等)而暂时停止运行

  • 挂起对应的行为是激活,将外存中的进程调入内存中。而处于阻塞状态的进程需要其他进程或系统唤醒

  • 挂起是被动的行为,进程被迫从内存中移至外存中。而进入阻塞可以看成是一个主动的行为(eg.进程I/O时,进程在等待I/O设备完成时,进程主动进入阻塞状态,I/O完成,进程被激活)

创建进程时内存不足,进程处于什么状态?

进程处于创建态或者静止就绪态。当进程完成创建,因内存不足及其他一些原因(系统或用户的请求)而移到外存中去,此时进程就处于静止就绪状态。如果进程创建过程中因内存不足(未初始化PCB),未完成进程的创建,此时则处于创建状态。关键在于此时的进程是否完成创建。

操作系统中睡眠、阻塞、挂起的区别形象解释 “阻塞(pend)”与“挂起(suspend)”的区别? [   操作系统中睡眠、阻塞、挂起的区别形象解释   首先这些术语都是对于线程来说的。对线程的控制好比你控制了一个雇工为你干活。你对雇工的控制是通过编程来实现的。   挂起线程的意思是你对主动对雇工说:“你睡觉去吧,用着你的时候我主动去叫你,然后接着干活”。   使线程睡眠的意思是你主动对雇工说:“你睡觉去吧,某时某刻过来报到,然后接着干活”。   线程阻塞的意思是,你突然发现,你的雇工不知道在什么时候没经过你允许,自己睡觉呢,但是你不能怪雇工,肯定你这个雇主没注意,本来你让雇工扫地,结果扫帚被偷了或被邻居家借去了,你又没让雇 立即下载

相关推荐

XPe开发初体验(一)XPe概述

XP Embedded是微软Windows Embedded产品线中非常重要的一环,不过比起大名鼎鼎的Windows Embedded CE,XPe显得过于低调了。在接下来的一段时间里,我希望能够用六篇的篇幅来描述一下XPe的整个开发过程。这个系列文章主要是针对有Windows编程经验,但是没有嵌入式开发经验的开发者,提供一些概念和开发过程的初步介绍。XP Embedded是一个基于Windo

aawolf = new Mobile.MVP 1万+

阻塞和挂起的区别和联系

阻塞和挂起是进程两种不同的状态,其描述如下: 阻塞:正在执行的进程由于发生某时间(如I/O请求、申请缓冲区失败等)暂时无法继续执行。此时引起进程调度,OS把处理机分配给另一个就绪进程,而让受阻进程处于暂停状态,一般将这种状态称为阻塞状态。 挂起:由于系统和用户的需要引入了挂起的操作,进程被挂起意味着该进程处于静止状态。如果进程正在执行,它将暂停执行,若原本处于就绪状态,则该进程此时暂不接受调度。 共同点: 都导致进程暂停执行。 进程都释放CPU,即两个过程都会涉及上下文切换。 不同点: 对系统资源占用

TABE_的博客 8610

CyberChef本地搭建

CyberChef本地搭建

2301_80241182的博客 6076

【并发基础】一篇文章带你彻底搞懂睡眠、阻塞、挂起、终止之间的区别

线程/进程的睡眠、阻塞、挂起、终止详解及区别。带你彻底搞清楚睡眠、阻塞、挂起、终止之间的区别,为多线程学习扫清障碍。

小七的博客 7262

C++/WinRT入门指南:现代Windows原生开发的核心技术

Windows运行时(WinRT)是微软为现代Windows应用开发设计的一套跨语言API框架,它基于COM技术原理构建,提供了统一的二进制接口标准。这项技术的核心价值在于让开发者能够以原生性能调用系统级功能,同时保持跨语言兼容性。在工程实践中,C++/WinRT作为官方推荐的C++语言投影,通过标准C++语法封装WinRT API,显著降低了开发复杂度。特别是在异步编程场景中,结合C++20协程特性,能够大幅提升代码可读性和维护性。对于需要高性能图形处理、系统集成或跨平台兼容的桌面应用开发,掌握C++/W

weixin_33910191的博客 1198

《AI应用架构师必学:企业AI能力地图构建的高级技巧》

企业AI能力地图,简单来说,是一种可视化工具,它展示了企业在AI领域所具备的各种能力及其相互关系。就如同城市地图展示城市的街道、建筑和设施一样,AI能力地图呈现了企业在数据处理、模型开发、算法应用等多个方面的能力布局。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 819

【操作系统】进程的描述与控制(1)

写在前面 资料来源于我的操作系统老师,WYQ老师 文章目录2.1 前趋图和程序执行2.1.1 程序的顺序执行及其特征2.1.2 前趋图2.1.3 程序的并发执行及其特征练习题2.2 进程的描述练习题练习题练习题2.3 进程控制2.4 进程同步2.5 经典的进程同步问题2.6 管程2.7 进程通信2.8 线程及其实现2.9 本章要点与课堂练习 2.1 前趋图和程序执行 2.1.1 程序的顺序执行及其特征 1. 程序的顺序执行 一个程序由若干个程序段组成,而这些程序段的执行必须.

No Pain, No Gain . 2073

QT串口通信控制LED上位机开发教程

串口通信是嵌入式系统与PC端交互的基础技术,通过UART协议实现设备间的数据传输。QT框架提供了跨平台的串口编程支持,结合其GUI模块可以快速开发上位机控制程序。在工业自动化和物联网领域,这种上下位机架构广泛应用于设备监控和控制场景。本案例展示了如何使用QT的SerialPort模块实现LED控制功能,包含串口参数配置、指令发送等核心功能实现,为嵌入式GUI开发提供实践参考。

weixin_42598278的博客 582

处理机管理 进程及其实现

文章目录1、进程定义和属性(1)可再入和可再用程序(2)进程的定义(3)进程和程序的区别(4)进程的六大特性2、进程的状态和转换(1)三态模型(2)五态模型(3)七态模型3、进程的描述和组成(1)进程映像(2)进程上下文(3)进程控制块(4)进程队列4、进程切换与模式切换(1)进程切换(2)模式切换(3)四个活动范围5、进程的控制和管理(1)原语(2)进程创建(3)进程撤销(4)进程阻塞(5)进程唤醒(6)进程挂起和激活 进程是操作系统中最基本、重要的概念。 是多道程序系统出现后,为了刻画系统内部出现的

爱吃猫的鱼~ 1383

Palantir的本体论建模跟数仓建模的异同

Palantir的Foundry Ontology通过构建组织的数字孪生体,将数据集和模型映射为对象类型、属性、链接和操作类型,形成完整的语义知识网络。与传统数仓建模相比,本体建模以业务问题为驱动,强调细粒度语义和实时决策能力,采用图语义技术实现灵活的映射关系。

轩哥的个人研究和成长记录 1594

第03章 Hermes Agent 核心原理

环境跑通之后,读者会很自然地想问:Hermes 的内部到底是怎么转起来的?为什么它能做到"越用越聪明"?长对话不会忘记上下文吗?这一章用尽量短的篇幅把核心原理讲清楚。理解原理不是为了纸上谈兵,而是为了在第7章实战时能判断"为什么 Hermes 这么响应"以及"我应该把哪类任务交给它"。

亢少军的博客 141

操作系统第三章进程管理复习精讲:状态图、高频考点与易混淆概念

操作系统进程管理是整个系统资源分配与调度的核心基础,而进程状态转换图与进程控制块(PCB)则是理解进程动态行为的两个关键模型。掌握进程从创建、就绪、运行、阻塞到退出的完整生命周期,有助于深入分析上下文切换、模式切换、并发与并行等底层机制,也是阅读调度算法与内存管理章节的前提。在多进程环境下,状态迁移的触发条件、阻塞与挂起的区别、共享内存与消息传递的适用场景,都是工程实践中常见的考察方向。围绕操作系统第三章常见复习题与习题,本文从答题框架、状态图补全、时间线计算到易混淆概念展开梳理,帮助备考者建立动态进程模型

weixin_33980459的博客 479

当C#遇见声音魔法:从麦克风到文字的0.1秒奇幻漂流

为什么选300Hz?因为人声基频通常在85-255Hz,但清脆的“啊”可能到2kHz,所以300Hz是安全区!(参考知识库[1])

墨夶的博客 365

阻塞与挂起的区别

线程与进程的阻塞 线程在运行的过程中因为某些原因而发生阻塞,阻塞状态的线程的特点是:该线程放弃CPU的使用,暂停运行,只有等到导致阻塞的原因消除之后才回复运行。或者是被其他的线程中断,该线程也会退出阻塞状态,同时抛出InterruptedException。 正在执行的进程由于发生某时间(如I/O请求、申请缓冲区失败等)暂时无法继续执行。此时引起进程调度,OS把处理机...

hqy1719239337的博客 2万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

进程的挂起状态解析

文章目录引言挂起状态是什么?挂起状态和阻塞状态有什么区别?如何主动挂起程序总结 引言 以前对于这个概念始终比较模糊,遂在解决后记录博客,希望帮助到有同样问题的朋友。 挂起状态是什么? 我们一般认为进程有五个状态,即新建态,就绪态,阻塞态,运行态,终止态。 而在这些状态之外还存在着一个状态,我们称之为挂起状态,它既可以是我们客户主动使得进程挂起,也可以是操作系统因为某些原因使得进程挂起。总而言之引入挂起状态的原因有以下几种: 用户的请求:可能是在程序运行期间发现了可疑的问题,需要暂停进程。 父进程的请求:

李兆龙的博客 3万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

进程的基本状态及转换和阻塞及挂起的理解

概念描述: 就绪状态 :一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。 执行状态:当一个进程在处理机上运行时,则称该进程处于运行状态。 阻塞状态:一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时仃止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。 挂起状态:由于IO的速度慢于CPU的运算速度,经常出现CPU等待...

圣三一 2万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

挂起和阻塞区别以及sleep和wait的区别

阻塞 VS 挂起 阻塞与挂起都是进程的状态,但他们有一些相似之处,也有一些区别,下面先对他们进行概述,再进行比较 阻塞:正在执行的进程由于发生某时间(如I/O请求、申请缓冲区失败等)暂时无法继续执行。此时引起进程调度,OS把处理机分配给另一个就绪进程,而让受阻进程处于暂停状态,一般将这种状态称为阻塞状态。 挂起:由于系统和用户的需要引入了挂起的操作,进程被挂起意味着该进程处于静止状态。如果进...

坚持 1万+

线程和进程/阻塞和挂起

曾多次迷惑于阻塞和挂起状态,后来才发现,有一些文章没有区别,把(阻塞、挂起、等待)等同了,这时看语境作者说的是哪个。自己加以分析区别。 先大概这样理解一下: 挂起:一般是主动的,由系统或程序发出,甚至于辅存中去。(不释放CPU,可能释放内存,放在外存) 阻塞:一般是被动的,在抢占资源中得不到资源,被动的挂起在内存,等待某种资源或信号量(即有了资源)将他唤        醒。(释放CPU,不

u012593344的专栏 1万+

操作系统——进程状态图解(两状态进程模型,五状态进程模型,含挂起态的进程模型)

操作系统——进程状态图解 两状态进程模型,进程被分为运行态和非运行态,这两个状态就是字面意思很好理解。 当一个处于运行态的进程终止后,我们就要选一个处于非运行态的进程进入运行态,按照道理,我们应该选非运行态队列中第一个进程,但是,如果队列第一个进程正在进行I/0操作,那么它就要等待I/O操作完成,这时我们就不能单纯地按照队列顺序选择,还要考虑进程是否等待I/O操作 于是我们引入了就绪态和阻塞态 就绪态:无需等待其他操作,可以直接进入运行态 阻塞态:需等待其他操作完成,如I/O操作 那么我们的五状态进

weixin_43914272的博客 7754

进程的就绪、执行、阻塞和挂起

进程刚被创建后, 分配了资源A, 进入就绪态, 如果操作系统发现CPU需要较长时间才会分配给该进程, 则为了资源A不被闲置, 就剥夺资源A, 进程进入挂起就绪态.操作系统进行CPU的调度, 剥夺该进程的CPU, 剥夺CPU的原因可能是该进程的时间片完或者是更高优先级的进程进入就绪态并抢占了CPU, 该进程进入就绪态.进程执行过程中发现需要资源B, 但资源B当前无法使用, 需要等待, 则进程进入阻塞态. 同时操作系统剥夺进程的CPU资源.资源A可以归还了, 操作系统归还资源A, 进程进入就绪态.

oncruise的博客 2984

线程和进程/阻塞和挂起以及那些sleep,wait()和notify()方法详解

线程与进程的阻塞 线程阻塞 线程在运行的过程中因为某些原因而发生阻塞,阻塞状态的线程的特点是:该线程放弃CPU的使用,暂停运行,只有等到导致阻塞的原因消除之后才回复运行,或者是被其他的线程中断,该线程也会退出阻塞状态,同时抛出InterruptedException。 进程阻塞 正在执行的进程由于发生某时间(如I/O请求、申请缓冲区失败等)暂时无法继续执行。此时引起进程调度,OS把处理机分配给另一个就绪进程,而让受阻进程处于暂停状态,一般将这种状态称为阻塞状态。 进程的挂起 挂起进程在操作系统中可以定义为暂

qq_22162093的博客 9270

linux 区别 挂起 阻塞_进程的挂起、阻塞和睡眠

2017-04-05 16:14:22今天脑子中突然想起进程的挂起和阻塞有什么区别,自己头脑风暴了下,还真不好解释,结合进程的睡眠,于是就有了今天这篇文章,以下内容均是个人参考资料后得到的自己的理解,如有错误,还请指正!要说挂起、阻塞、睡眠难免让人想到进程生命周期中的阻塞态或者等待状态,而挂起和睡眠却没有出现在进程生命周期中,说明这三个其实在本质上区别并不那么大,但是既然称呼不同,应该就有不同的道...

weixin_39822493的博客 748

线程的阻塞与挂起

转自:https://www.cnblogs.com/hoobey/p/6915638.html 挂起:一般是主动的,由系统或程序发出,甚至于辅存中去。(不释放CPU,可能释放内存,放在外存) 阻塞:一般是被动的,在抢占资源中得不到资源,被动的挂起在内存,等待某种资源或信号量(即有了资源)将他唤醒。(释放CPU,不释放内存) 另外,有一段话很形象: 首先这些术语都是对于线程来说的...

andylanzhiyong的博客 3060

(进程/线程)阻塞、挂起、睡眠的区别

目录共同本质:阻塞:(被动)挂起(主动)睡眠(主动) 共同本质: 正在执行的进程/线程,由于某些原因(主、被动)释放CPU,暂停执行 (这里讨论的均是处于运行状态的进/线程)   阻塞:(被动) 进/线程被动暂停执行,阻塞的进程仍处于内存中,OS把处理机分配给另一个就绪进程,而让被暂停的进程处于暂停状态。 (自动)阻塞恢复:需要在等待的资源得到满足(例如获得了锁)后,才会进入就绪状态,等待被调度而执行。 阻塞原因: 进程:进程由于提出系统服务请求(如I/O操作),但因为某种原因未得到操作系统的立

guochaoHNU的博客 4229
上一篇: 三分钟理解三种基本进程状态
下一篇: C++ 数组声明,初始化详解
Flyy.
博客等级 码龄7年 6粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Flyy.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值