gpt4 book ai didi

linux - 调度程序队列和中断的工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:18 24 4
gpt4 key购买 nike

Galvin 的操作系统教科书读到“如果就绪队列中有n个进程,时间片为q,然后每个进程以最多 q 个时间单位的 block 获得 1/n 的 CPU 时间。每个进程必须等待不超过 (n — 1) x q 个时间单位,直到它下一个时间片。 例如,有五个进程和一个时间片 20毫秒,每个进程每 100 毫秒将最多占用 20 毫秒。”

是否正确?如果 CPU 正在执行这些进程时发生中断,会发生什么情况。一个过程可能需要等待更长的时间或者我遗漏了一些明显的东西?

最佳答案

这取决于中断是否改变了就绪线程集、使用的调度算法、内核的可用性和其他东西。

Or I am missing something obvious?

现代抢占式调度操作系统可能将核心上的 CPU 执行作为资源管理,仅提供给可以使用它的线程。中断(系统调用和硬件中断)是可以更改就绪线程集的事件。定时器中断只是其中之一。

专注于“量子”等术语可能会导致误解抢占式调度程序如何将核心上的 CPU 执行处理为资源。

What happens if interrupt occurs while CPU is executing these processes. A process might have to wait for longer time

是的,有可能。如果中断(通过驱动程序的系统调用或硬件中断)更改了就绪线程集,则调度算法将运行并可能决定抢占中断之前正在运行的线程之一,以支持刚刚成为的线程准备好。显然,被抢占的线程在被另一个中断再次运行之前无法继续前进,所以,是的,一个进程可能不得不等待更长的时间。

关于linux - 调度程序队列和中断的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27756941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com