什么是进程的饥饿和饿死?

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

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

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

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

Starvation is simply when a process or service is not being serve, even when there is no deadlock on the system.

This is an example I just made up just for clarification purposes.

Imagine an algorithm that control computers access to a WAN or something like that. This algorithm could have a policy that says "Provide priority access to those computers that will use less bandwidth.", that will seem like a proper policy, but then what happens when a single computer wants to access the network for an ftp upload that will send several GB somewhere. With this policy alone, that computer will starve since the algorithm will never select that computer, since there will be always other computers requesting smaller bandwidth usage.

That is called starvation.

摘自我的CSDN博客 blog.csdn.net/yming0221/article/details/7104508

操作系统饥饿现象_操作系统中的饿死现象怎样理解?相关推荐

  1. 操作系统饥饿现象_操作系统心得体会

    一.操作系统 1.基本概念 操作系统简称OS,是配置在计算机硬件上的第一层软件,它能够有效的组织和管理计算机系统中的硬件和软件资源,合理的组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能. ...

  2. 单摆运动属于什么现象_物理模型中的隐含条件是什么

    有些题目所设物理模型是不清晰的,不宜直接处理,但只要抓住问题的主要因素,忽略次要因素,恰当的将复杂的对象或过程向隐含的理想化模型转化,就能使问题得以解决,今天我们就来说说物理题目中所含的隐性条件是什么 ...

  3. 黄金3:雨露均沾-不要让你的线程在竞争中被“饿死”

    欢迎来到<并发王者课>,本文是该系列文章中的第13篇. 在上篇文章中,我们介绍了避免死锁的几种策略.虽然死锁臭名昭著,然而在并发编程中,除了死锁之外,还有一些同样重要的线程活跃性问题值得关 ...

  4. 并发王者课-黄金3:雨露均沾-不要让你的线程在竞争中被“饿死”

    欢迎来到<并发王者课>,本文是该系列文章中的第13篇. 在上篇文章中,我们介绍了避免死锁的几种策略.虽然死锁臭名昭著,然而在并发编程中,除了死锁之外,还有一些同样重要的线程活跃性问题值得关 ...

  5. 操作系统饥饿现象_操作系统常见面试题

    1.进程的常见状态?以及各种状态之间的转换条件? 就绪:进程已处于准备好运行的状态,即进程已分配到除CPU外的所有必要资源后,只要再获得CPU,便可立即执行. 执行:进程已经获得CPU,程序正在执行状 ...

  6. 操作系统饥饿现象_操作系统试题

    题号 一 二 三 四 五 六 总分 得分 评卷人 一.单项选择题(每小题 2 分,共 20 分) 1. 当 CPU 处于管态时 , 它可以执行的指令应该是 A. 仅限于特权指令 B. 仅限于非特权指令 ...

  7. 操作系统饥饿现象_操作系统复习

    的最小值是 ( ) A . 2 B.3 C.4 D.5 4.n 个进程共享某一临界资源,则互斥信号量的取值范围为( ) . A. 0~1     B. – 1~0            C. 1~-( ...

  8. 操作系统多线程实现_操作系统中的线程实现

    操作系统多线程实现 Each process has an address space. There is one thread of control in every traditional OS. ...

  9. 操作系统 系统开销比率_操作系统中的最高响应比率下一个(HRRN)调度

    操作系统 系统开销比率 操作系统中的HRRN调度是什么? (What is HRRN Scheduling in Operating System?) HRRN is the abbreviation ...

最新文章

  1. java ios websocket_Java WebSocket的例子
  2. [jQuery]点击某元素之外触发事件
  3. C语言:以scanf的使用为例,对缓冲区的理解
  4. 控制台异常:Could not connection
  5. 通过管道进行线程间通信
  6. 网站如何统计访问人数?51LA如何安装使用?
  7. c++打印素数表(线性筛)
  8. xp的ie显示无服务器,WinXP系统IE无法打开站点怎么办?
  9. Caffe Blobs
  10. 【python】django实现扫码签到
  11. base64接收图片
  12. 产品经理(22) #运营
  13. java ssh免密登录_SSH免密登录(单信)
  14. vue动态生成二维码,扫码登录
  15. spring spel 获取环境变量
  16. 百度地图修改底图样式
  17. 和平精英连接服务器未响应,和平精英卡顿怎么解决-和平精英卡顿问题解决方法_快吧手游...
  18. 虫师 python_2019虫师自动化 Python接口自动化虫师 robotframework虫师 虫师接口自动化源码下载...
  19. 从 Direct3D 9 到 Direct3D 11 的重要更改
  20. spotify 缓存_如何组织您的Spotify库

热门文章

  1. CocosCreator Lerp插值
  2. Redisson实现分布式锁原理
  3. mysql是应用软件还是系统软件_数据库管理系统属于系统软件还是应用软件
  4. Flutter绘制指南05-图形的路径添加
  5. 深度学习相关公开数据集
  6. PIL:处理图像的好模块
  7. Java求1-100的质数和
  8. 一个看着有用,但是没多大用的IDEA插件MybatisCode
  9. uniapp微信小程序video全屏苹果xs
  10. html搜索框下拉怎么做,一步一步教你实现仿百度搜索框下拉效果(上)