1. 饥饿是指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。

  2. 死锁是指在多道程序系统中,一组进程中的每一个进程都无限期等待被该组进程中的另一个进程所占有且永远不会释放的资源。

  3. 相同点:二者都是由于竞争资源而引起的。

  4. 不同点:

    1. 从进程状态考虑,死锁进程都处于等待状态,忙等待(处于运行或就绪状态)的进程并非处于等待状态,但却可能被饿死;

    2. 死锁进程等待永远不会被释放的资源,饿死进程等待会被释放但却不会分配给自己的资源,表现为等待时限没有上界(排队等待或忙式等待);

    3. 死锁一定发生了循环等待,而饿死则不然。这也表明通过资源分配图可以检测死锁存在与否,但却不能检测是否有进程饿死;

    4. 死锁一定涉及多个进程,而饥饿或被饿死的进程可能只有一个。

    5. 在饥饿的情形下,系统中有至少一个进程能正常运行,只是饥饿进程得不到执行机会。而死锁则可能会最终使整个系统陷入死锁并崩溃。

----------------------------------------------------------------------------------------------------------------------------------------------------------

在一个动态系统中,资源请求与释放是经常性发生的进程行为.对于每类系统资源,操作系统需要确定一个分配策略,当多个进程同时申请某类资源时,由分配策略确定资源分配给进程的次序。 资源分配策略可能是公平的(fair),能保证请求者在有限的时间内获得所需资源;资源分配策略也可能是不公平的(unfair),即不能保证等待时间上界的存在。 在后一种情况下,即使系统没有发生死锁,某些进程也可能会长时间等待.当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿(starvation),当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死(starve to death)。

考虑一台打印机分配的例子,当有多个进程需要打印文件时,系统按照短文件优先的策略排序,该策略具有平均等待时间短的优点,似乎非常合理,但当短文件打印任务源源不断时,长文件的打印任务将被无限期地推迟,导致饥饿以至饿死。

当等待时间给进程的推进和相应带来明显的影响时,就称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时,称该进程被饿死。

当一组进程到达时,CPU根据算法进行进程调度。有的进程因此而需要等待,而不能及时得到资源,这就叫饥饿。进程得到资源时,再完成已经不再具有意义,这就叫做饿死。

进程饥饿和死锁及饿死相关推荐

  1. 操作系统学习--死锁和饿死

    一.死锁原理 一组互斥的进程资源竞争或相互通信的永久阻塞 二.两种资源 (1)可重用资源:不会由于消费而减少,如I/O,存储空间.一次只能供一个进程安全使用. 处理这类死锁的策略施加关于资源请求顺序的 ...

  2. java 活锁 线程饿死,JAVA并发编程(四)线程死锁、饥饿、活锁

    JAVA并发编程(四)线程死锁 线程死锁 什么是线程死锁呢? 为什么会线程死锁呢? 如何避免线程死锁? 什么是饥饿呢? 什么是活锁呢? 线程死锁 什么是线程死锁呢? 死锁是指两个或两个以上的线程在执行 ...

  3. 操作系统饥饿现象_操作系统中的饿死现象怎样理解?

    什么是进程的饥饿和饿死? 在一个动态系统中,资源请求与释放是经常性发生的进程行为.对于每类系统资源,操作系统需要确定一个分配策略,当多个进程同时申请某类资源时,由分配策略确定资源分配给进程的次序. 资 ...

  4. 死锁、活锁和饿死的理解(转)

    死锁.活锁和饿死的理解(转) 看到一组漫画,很形象的说明了死锁.活锁和饿死的区别,原文链接:http://f.dataguru.cn/thread-541686-1-1.html ,这篇文章的死锁有点 ...

  5. 多线程二死锁,活锁,饿死,阻塞的理解

    假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情 ...

  6. java中活锁和死锁的区别_死锁、活锁、饿死和阻塞的个人理解

    以下个人理解,请各位前辈多多指教: 死锁: ① 互斥条件:指进程对所分配到的资源进行排它性使用,在一段时间内某资源只由一个进程占用,如果此时还有其他进程请求资源,则请求者只能等待,直至占有资源的进程被 ...

  7. 死锁、活锁、饿死和阻塞的个人理解

    以下个人理解,请各位前辈多多指教: 死锁: ① 互斥条件:指进程对所分配到的资源进行排它性使用,在一段时间内某资源只由一个进程占用,如果此时还有其他进程请求资源,则请求者只能等待,直至占有资源的进程被 ...

  8. 死锁与活锁的原因 与解决方法(附加“饿死”)

    死锁与活锁的原因 与解决方法(附加"饿死") 参考文章: (1)死锁与活锁的原因 与解决方法(附加"饿死") (2)https://www.cnblogs.co ...

  9. 死锁、活锁、饥饿定位死锁解决死锁

    文章目录 1. 死锁 2. 定位死锁 2.1 jstack工具使用 2.2 jconsole工具使用: 3. 解决死锁 3.1 哲学家就餐问题 4. 活锁 4.1 活锁原因 4.2 活锁解决 5. 饥 ...

最新文章

  1. 好程序员HTML5大前端分享常用开发工具大集合
  2. AJAX服务器返回数据 连接数据库查询数据
  3. 修改数据库服务器日期命令,服务器上数据库用命令修改
  4. web前端面试题:20道做完信心嫉妒膨胀的测试题
  5. 在 linux 下使用 CMake 构建应用程序
  6. 也来分析为什么支付宝要做社交
  7. oracle的关键字
  8. ​4种实现多列布局css
  9. linux内核input子系统解析,ARM Linux内核Input输入子系统浅解
  10. C#nbsp;Listlt;gt;简单用法
  11. 微信登陆报错:redirect_uri域名与后台配置不一致,错误码:10003 微信支付报错 微信登录报错 微信开发
  12. mysql 多版本删除_高性能MySQL(四):多版本并发控制
  13. Java自学知识点_良心_精心整理
  14. 【解决办法】Dell AWCC应用程序不兼容超频不可用
  15. HDU 1155 Bungee Jumping(物理题,动能公式,弹性势能公式,重力势能公式)
  16. 【优化】共轭函数(Conjugate Function)超简说明
  17. Qt5:error: no matching function for call to 'MainWindow::connect()
  18. 【图像分割】基于贝叶斯算法阙值图像分割matlab代码
  19. 毕业设计 基于JavaWeb的奖学金评定管理系统
  20. 用计算机怎么计算税率表,5000元新个税计算器公式税率表

热门文章

  1. Thunder Store 的 安装方法
  2. 软件相貌测试准确吗,相貌测试(史上最准的颜值测试)
  3. Rust能力养成之(12)用Cargo进行项目管理:实操项目imgtool
  4. ubuntu windows 双系统 修改启动项名称
  5. ELISPOT酶联免疫斑点技术说明书
  6. 微信小程序的制作方法步骤和流程
  7. 微信小程序实现一个简单的表格
  8. sourcetree打开快捷_SourceTree使用方法
  9. BootStrap bootstrap日历控件
  10. quartz定时任务(数据库需要的表)