我正在研究操作系统,并且我怀疑当处理器上当前正在运行的进程请求某些I / O时,CPU变为空闲,然后调度程序安排另一个进程在CPU上执行。内核如何知道CPU已经空闲。处理器是否发送了某种硬件中断?
答案 0 :(得分:1)
操作系统知道' CPU在执行调度运行时需要变为空闲状态,并且准备好的线程数比内核少。
如果调度程序运行并且只有两个可以使用CPU的就绪线程,但有四个实际内核可用,那么它将引导“盈余”#39;核心空闲'线程是围绕“HLT”或类似指令的循环,导致内核在收到中断之前停止获取和执行指令。
答案 1 :(得分:0)
在我的选项中,内核始终在CPU上运行,内核知道调度哪个进程或中断处理程序。