操作系统如何工作 - 多任务处理

时间:2016-01-15 02:22:00

标签: process operating-system multitasking

这可能是一个非常愚蠢的问题,但我正在了解操作系统是如何工作的,我很困惑。如果OS通过从一个进程切换到另一个进程而不是OS本身来执行多任务处理?这也是一个过程,不是吗?

非常感谢你!

2 个答案:

答案 0 :(得分:2)

操作系统内核通常不是一个进程,而是在运行进程时执行内核模式的代码。

切换流程的一个顺序可能是:

  1. 运行进程P时,计时器中断熄灭。
  2. 定时器中断处理程序由内核模式执行。
  3. 中断处理程序调用确定进程Q应该执行的调度程序。
  4. 调度程序执行更改保存进程上下文指令,保存P。
  5. 的状态
  6. 调度程序执行加载进程上下文指令,加载Q的状态。一旦该指令完成执行,Q就是正在运行的进程。
  7. 中断处理程序退出,将控制权返回到Q上次执行的位置。

答案 1 :(得分:1)

操作系统有一个名为Scheduler的组件,它执行在应用程序和其他系统线程(任务)之间切换的功能。调度程序几乎总是OS内核映像的一部分,一旦OS由Bootloader加载到内存中,它通常在处理器的专用硬件线程上运行。

在Scheduler释放要执行的任务之后,它会等待来自其中断控制器硬件的信号,告诉它何时抢占(停止)正在运行的任务并释放另一个执行任务。如何发生这种情况的细节取决于OS设计者选择实施的调度算法(例如,Round-Robin,Time-Slicing,Earliest-Deadline-First等)。例如,具有时间分片内核的OS将使用来自硬件定时器的中断作为其调度程序的唤醒调用。

相关问题