内核如何知道CPU处于空闲状态?

时间:2016-02-15 06:20:47

标签: linux operating-system kernel scheduler processor

我正在研究操作系统,并且我怀疑当处理器上当前正在运行的进程请求某些I / O时,CPU变为空闲,然后调度程序安排另一个进程在CPU上执行。内核如何知道CPU已经空闲。处理器是否发送了某种硬件中断?

2 个答案:

答案 0 :(得分:1)

操作系统知道' CPU在执行调度运行时需要变为空闲状态,并且准备好的线程数比内核少。

如果调度程序运行并且只有两个可以使用CPU的就绪线程,但有四个实际内核可用,那么它将引导“盈余”#39;核心空闲'线程是围绕“HLT”或类似指令的循环,导致内核在收到中断之前停止获取和执行指令。

答案 1 :(得分:0)

在我的选项中,内核始终在CPU上运行,内核知道调度哪个进程或中断处理程序。