这可能是一个非常愚蠢的问题,但我正在了解操作系统是如何工作的,我很困惑。如果OS通过从一个进程切换到另一个进程而不是OS本身来执行多任务处理?这也是一个过程,不是吗?
非常感谢你!
答案 0 :(得分:2)
操作系统内核通常不是一个进程,而是在运行进程时执行内核模式的代码。
切换流程的一个顺序可能是:
答案 1 :(得分:1)
操作系统有一个名为Scheduler的组件,它执行在应用程序和其他系统线程(任务)之间切换的功能。调度程序几乎总是OS内核映像的一部分,一旦OS由Bootloader加载到内存中,它通常在处理器的专用硬件线程上运行。
在Scheduler释放要执行的任务之后,它会等待来自其中断控制器硬件的信号,告诉它何时抢占(停止)正在运行的任务并释放另一个执行任务。如何发生这种情况的细节取决于OS设计者选择实施的调度算法(例如,Round-Robin,Time-Slicing,Earliest-Deadline-First等)。例如,具有时间分片内核的OS将使用来自硬件定时器的中断作为其调度程序的唤醒调用。