谁在系统中实际执行调度



我发现准备在就绪队列中执行的进程由调度程序赋予CPU控制权。调度程序根据其调度算法选择一个进程,然后为所选进程提供 CPU 的控制,如果它遵循抢占式样式,则稍后抢占。我想知道,如果处理器正在使用CPU的处理单元,那么如果处理单元不可用,谁会抢占并调度进程。

现在,我想分享我对操作系统的想法, 对不起,我的英语不是很流利

您如何看待操作系统?你认为它是"活跃的"吗? 不,在我看来,操作系统只是内存中的一堆死代码 而这个死代码是由中断句柄函数构成的(我们只是称这个死代码为"内核源代码"( 好的,现在,CPU正在执行进程A,突然发生了"中断",这个"中断"可能是因为时钟或因为读取系统调用而发生的,无论如何,发生了中断。然后CPU将跳转构成中断功能(CPU跳转,因为CPU的构成是设计的(。如前所述,此中断句柄函数是操作系统内核源代码的一部分。 CPU 将执行此代码。这段代码将做什么?此代码将调度,CPU 将执行此代码。

一切都发生在进程的上下文中(Linux 调用这些轻量级进程,但它是相同的(。

进程调度通常作为系统服务调用的一部分或中断的一部分发生。

在系统服务调用的情况下,进程可能会确定它无法执行,因此它调用调度程序将上下文更改为新进程。

操作系统将安排计时器中断,它可以在其中进行调度。调度也可能发生在其他类型的中断中。中断由当前进程处理。