饥饿和车队效应的唯一区别是,车队效应主要定义在FCFS调度算法上,而饥饿是基于优先级的调度算法
我对这两种效果都进行了研究,但找不到比较。这是基于我在大学学位时学到的操作系统理论。
发布于 2019-05-28 02:14:28
饥饿和车队这两种算法都可能发生。最简单的饥饿可以通过一个任务进入这个循环来模拟(我希望它不是UDB):
while (1) {
}
在FCFS中,这个任务永远不会放弃CPU,因此它后面的所有任务都会饿死。在基于优先级的系统中,相同的任务将使每个较低优先级的任务处于饥饿状态。
车队可以更普遍地被认为是资源争用问题;一个任务拥有资源(cpu),而其他任务必须等待,直到它完成。在基于优先级系统中,这在优先级反转中很明显,其中高优先级任务被阻塞,因为它需要由低优先级任务拥有的资源。有一些方法可以缓解这些问题,包括优先级继承和上限协议。如果没有这些机制,争用资源的任务将形成一个车队,就像在fcfs中一样;与fcfs不同的是,不争用资源的任务可以随意执行。
响应性、吞吐量和公平性的愿望经常是不一致的,这就是为什么我们没有一个真正的解决方案来解决调度问题。
https://stackoverflow.com/questions/56320999
复制相似问题