【发布时间】:2016-01-15 02:21:59
【问题描述】:
这可能是一个非常愚蠢的问题,但我正在学习操作系统的工作原理,我很困惑。如果操作系统通过从一个进程切换到另一个进程来执行多任务处理,那么操作系统本身呢?这也是一个过程,不是吗?
非常感谢您!
【问题讨论】:
标签: process operating-system multitasking
这可能是一个非常愚蠢的问题,但我正在学习操作系统的工作原理,我很困惑。如果操作系统通过从一个进程切换到另一个进程来执行多任务处理,那么操作系统本身呢?这也是一个过程,不是吗?
非常感谢您!
【问题讨论】:
标签: process operating-system multitasking
操作系统内核通常不是进程,而是在运行进程时执行内核模式的代码。
切换进程的一个顺序可能是:
【讨论】:
操作系统有一个称为调度程序的组件,它执行在应用程序和其他系统线程(任务)之间切换的功能。调度程序几乎总是操作系统内核映像的一部分,一旦引导加载程序将操作系统加载到内存中,通常运行在处理器的专用硬件线程上。
在调度器释放任务执行后,它等待来自其中断控制器硬件的信号,告诉它何时抢占(停止)正在运行的任务并释放另一个任务以执行。这如何发生的细节取决于操作系统设计者选择实现的调度算法(例如循环、时间切片、最早截止日期优先等)。例如,具有时间片内核的操作系统将使用来自硬件计时器的中断作为其调度程序的唤醒呼叫。
【讨论】: