作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
饥饿和护航效应之间的唯一区别是护航效应主要定义在FCFS调度算法上,而饥饿则定义在基于优先级的调度?
我研究了这两种效果,但找不到比较。这是基于我在大学学位中学到的操作系统理论。
最佳答案
两种算法都可能发生饥饿和护航。最简单的饥饿,可以通过进入此循环的任务来模拟(我希望它不是 UDB):
while (1) {
}
在FCFS中,这个任务永远不会交出CPU,因此它后面的所有任务都会挨饿。在基于优先级的系统中,相同的任务将使每个优先级较低的任务都处于饥饿状态。
车队可以更普遍地被认为是一个资源争夺问题;一个任务拥有资源(CPU),其他任务必须等待它完成使用。在基于优先级的系统中,这表现为优先级反转,其中高优先级任务被阻止,因为它需要较低优先级任务拥有的资源。有一些方法可以缓解这些问题,包括优先级继承和上限协议(protocol)。如果没有这些机制,争夺资源的任务将形成一个车队,就像 fcfs 中一样;与 fcfs 不同,不争用资源的任务可以随意执行。
响应能力、吞吐量和公平性的愿望常常是不一致的,这就是我们没有真正解决调度问题的部分原因。
关于operating-system - 饥饿与护航效应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56320999/
我是一名优秀的程序员,十分优秀!