OS进程如何管理用户进程本身就是进程?

时间:2018-08-24 12:03:16

标签: operating-system cpu-architecture

最近,我一直在阅读有关操作系统的信息,这让我很烦。 一个流程实际上如何管理另一个流程。

基本上,CPU仅执行一条指令,执行一条指令后,便在IP指向的地址处执行该指令并递增IP。

让我用一个例子来阐明我的疑问。可以说我有一个正在由CPU执行的User进程(或简称为进程)。可以说,它具有“ n”条指令,当前正在执行“ i”条指令。 IP指向第(i + 1)条指令。 因此,由于CPU已经在执行另一个进程,因此,此时其他所有OS进程(例如Scheduler,dispatcher等)如何发挥作用。

我可以想到的一种解决方案(只是一个猜测)是使用中断和中断服务程序。

但这只是一个猜测。

PS:我搜索了却找不到满意的答案。

1 个答案:

答案 0 :(得分:1)

在硬件的帮助下,滴答声使CPU执行操作系统代码。此代码检查系统状态以及自开始执行此过程以来经过的时间。此时,操作系统可以决定安排其他进程。它要做的就是将正在运行的进程的当前状态与即将开始运行的进程一起保存。 (基本上是更改寄存器的内容并在更改为新进程之前保存寄存器状态)。
最终,即使进程不想让它被占用,CPU也被夺走了。

要解决您的问题,就没有您所认为的操作系统进程...好像队列中没有其他进程在等待OS进程...