操作系统中的饥饿和老化

先决条件: 优先级调度

null

我们已经讨论了中的优先级调度 邮递它是批处理系统中最常见的调度算法之一。每个流程都有一个优先级。优先级最高的进程将首先执行,以此类推。

在这篇文章中,我们将讨论与优先级调度相关的一个主要问题及其解决方案。

饥饿 或者不确定阻塞是和优先级调度算法相关联的现象,在这种情况下,准备为CPU运行的进程可以因为低优先级而无限期等待。在负载沉重的计算机系统中,稳定的高优先级进程流可以防止低优先级进程占用CPU。

有传言称,1967年MIT的IBM 7094使用了优先级调度,他们发现了一个直到1973年才提交的低优先级进程。

prior

正如我们在上面的示例中所看到的,进程的优先级比其他进程更早获得CPU的优先级更高。我们可以想象这样一个场景,其中只有一个进程的优先级非常低(例如127),而我们给另一个进程的优先级很高,这可能会导致无限期地等待CPU的优先级较低的进程,这会导致 饥饿 此外,我们还讨论了解决饥饿问题的方法。

区别 僵局 还有OS中的饥饿:

  1. 如下图所示,当集合中的任何进程都无法前进时,就会发生死锁。另一方面,当一个进程等待一段不确定的时间来获取它所需的资源时,就会发生饥饿。
  2. 死锁的另一个名字是 循环等待 .饥饿的另一个名称是 活锁 .
  3. 当死锁发生时,任何进程都无法取得进展,而在饥饿状态下,除了受害者进程之外,其他进程都可以进行或继续。

饥饿的解决方案:衰老

老化是一种逐渐增加系统中等待时间较长的进程优先级的技术。例如,如果优先级从127(低)到0(高),我们可以将等待过程的优先级每15分钟增加1。最终,即使是初始优先级为127的进程,也不需要超过32小时,优先级为127的进程就可以老化为优先级为0的进程。

图片[2]-操作系统中的饥饿和老化-yiteyi-C++库

本文由 萨洛尼·古普塔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享