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

阻塞和挂起的区别和联系

阻塞和挂起是进程两种不同的状态,其描述如下:

阻塞:正在执行的进程由于发生某时间(如I/O请求、申请缓冲区失败等)暂时无法继续执行。此时引起进程调度,OS把处理机分配给另一个就绪进程,而让受阻进程处于暂停状态,一般将这种状态称为阻塞状态。

挂起:由于系统和用户的需要引入了挂起的操作,进程被挂起意味着该进程处于静止状态。如果进程正在执行,它将暂停执行,若原本处于就绪状态,则该进程此时暂不接受调度。

共同点:

  1. 都导致进程暂停执行。
  2. 进程都释放CPU,即两个过程都会涉及上下文切换。

不同点:

  1. 对系统资源占用不同:虽然都释放了CPU,但阻塞的进程仍处于内存中,而挂起的进程通过“对换”技术被换出到磁盘中。
  2. 发生时机不同:阻塞一般在进程等待资源(IO资源、信号量等)时发生;而挂起是由于用户和系统的需要,例如,终端用户需要暂停程序研究其执行情况或对其进行修改、OS为了提高内存利用率需要将暂时不能运行的进程(处于就绪或阻塞队列的进程)调出到磁盘
  3. 恢复时机不同:阻塞要在等待的资源得到满足(例如获得了锁)后,才会进入就绪状态,等待被调度而执行;被挂起的进程由将其挂起的对象(如用户、系统)在时机符合时(调试结束、被调度进程选中需要重新执行)将其主动激活。
http://www.lryc.cn/news/134230.html

相关文章:

  • 水力发电厂测量装置配置选型及厂用电管理系统
  • 【RabbitMQ】RabbitMQ整合SpringBoot案例
  • 如何在window下cmd窗口执行linux指令?
  • c++基础系列:字符串、向量和数组
  • docker 05(dockerfile)
  • PostMan 测试项目是否支持跨域
  • jsp 协同过滤 图书管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • 商城-学习整理-高级-商城业务-商品上架es(十)
  • 【水文学法总结】河道内生态流量计算方法(含MATLAB实现代码)
  • 特斯拉Model 3的七年狂飙
  • 物流签收异常,财务对账复杂,怎么解决?
  • docker之镜像与数据卷
  • 服务器为什么会被攻击?43.248.186.x
  • 文心一言 VS 讯飞星火 VS chatgpt (79)-- 算法导论7.4 4题
  • 整理mongodb文档:索引
  • EPICS libCom库(4) -- epicsTimer
  • 成都大运会,保障大型活动无线电安全需要…
  • 【Spring Boot】构建RESTful服务 — 实战:实现Web API版本控制
  • 6.Web后端开发【SpringBoot入门】
  • [ubuntu]ubuntu18.04使用自带共享桌面实现vncserver连接
  • docker启用cgroup v2
  • Java课题笔记~ Axios
  • ip地址和地理位置有关系吗
  • mac指定node版本 mac node版本降级 mac切换node版本
  • C# Windows登录界面进行截图,控制鼠标键盘等操作实现(一)
  • 因果推断(五)基于谷歌框架Causal Impact的因果推断
  • VR全景加盟项目如何开展?如何共赢VR时代红利?
  • Win10+anaconda+CUDA+pytorch+vscode配置
  • vue-router在vue2/3区别
  • Apache Doris 入门教程33:统计信息