谁实际在系统中执行调度

时间:2017-08-17 17:02:32

标签: operating-system scheduling

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

2 个答案:

答案 0 :(得分:3)

现在,我想与大家分享一下我对操作系统的看法, 对不起,我的英语不是很流利

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

答案 1 :(得分:0)

所有事情都发生在流程的上下文中(Linux称这些轻量级流程,但它们是相同的)。

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

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

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