Operating system 内核如何一直运行?

Operating system 内核如何一直运行?,operating-system,kernel,scheduling,Operating System,Kernel,Scheduling,当CPU一次只能执行一个进程时,内核如何一直运行? 也就是说,如果内核一直占用CPU,那么其他进程如何运行呢 请解释一下 谢谢就像您可以同时运行多个用户空间进程一样:在任何给定的时间,只有一个进程在实际使用CPU。你有一些干扰,迫使他们放弃 作为操作系统一部分的代码在这里没有什么不同(除了它首先控制设置此调度) 您还必须区分操作系统在后台运行的进程(我想这就是您在这里讨论的)和系统调用(作为临时切换到主管模式的“正常”进程的一部分运行)。它不会一直运行。内核为CPU设置一个报警中断,以便每隔一段

当CPU一次只能执行一个进程时,内核如何一直运行? 也就是说,如果内核一直占用CPU,那么其他进程如何运行呢

请解释一下
谢谢

就像您可以同时运行多个用户空间进程一样:在任何给定的时间,只有一个进程在实际使用CPU。你有一些干扰,迫使他们放弃

作为操作系统一部分的代码在这里没有什么不同(除了它首先控制设置此调度)


您还必须区分操作系统在后台运行的进程(我想这就是您在这里讨论的)和系统调用(作为临时切换到主管模式的“正常”进程的一部分运行)。

它不会一直运行。内核为CPU设置一个报警中断,以便每隔一段时间将其唤醒,然后当报警中断触发时,CPU停止执行程序并跳转到内核的中断向量。当CPU开始执行内核时,内核会检查是否应该搁置CPU正在执行的程序(如果有更高的优先级),或者是否应该返回睡眠状态,让CPU继续执行已经运行的程序。