当cpu没有做任何事情时,它会运行空闲进程。我听说这个进程会查找正在队列中等待的程序,以便cpu可以运行它们。这就是它的全部吗?它的代码是什么样的?我也想知道各种操作系统中系统空闲进程的文件名。
答案 0 :(得分:12)
这个问题包含几个错误的默会假设。以下是一些提示:
hlt
指令的等价物,其目的一般是减少空闲处理器对系统总线的使用(当然, non -idle处理器可以使用该总线带宽)。因此,在许多架构中,无限循环重复执行这些指令。一些处理器在执行这样的指令时可以在总线上发信号通知它们的“空闲”状态,外部硬件可以识别并采取行动(例如通过减慢总线时钟并消耗更少的功率)。同样,空闲指令可能会导致处理器本身执行时钟减速和省电等操作。答案 1 :(得分:6)
在太空关键嵌入式系统中,空闲过程用于scrub memory,以检查宇宙射线是否引入了位翻转。
答案 2 :(得分:3)
空闲过程不做任何事情;操作系统本身负责调度要运行的进程。空闲进程本身只是循环HLT指令。 (来源:wikipedia)
答案 3 :(得分:2)
只要进程处于其时间片的末尾,并且每当进程执行阻塞操作时,OS就会运行调度程序。然后,调度程序选择要运行的下一个进程。在我所知道的平台上,将调度程序视为一个过程是没有意义的。
以下是scheduling的更多信息。
答案 4 :(得分:0)
空闲进程用于调度程序在没有进程执行时运行某些程序。 尤其取决于操作系统。
为了简单理解,我们可以说空闲进程是一个无限循环,它将在没有进程运行时得到调度