-1

我正在研究操作系统,我对操作系统上的进程和进程调度程序有疑问?哪个队列可以为空?Ready、Waiting 或 Running。据我所知(也许我错了)在 Windows 上运行总是有一个进程(SystemIdleProcessor)。在 Unix 上它可能是一个守护进程....我不知道。

4

1 回答 1

1

我认为如果running必须是空的,那么ready也必须是空的,因为如果running甚至有一个地方可以容纳它,它将从就绪队列中寻找一个进程,空运行队列是不可能的情况,因为系统至少会以某种方式运行一个过程。就绪队列可能为空,也可能不为空,因为它是一个等待执行进程的队列(在处理器运行一个独立且不需要 I/O 且没有外部事件中断的进程的情况下,它可能为空)。如果等待队列必须为空,则不应有中断或外部事件,但有时系统处于空闲状态,因此不需要任何进程停止运行并发送到等待队列以等待任何事件,因为没有新进程到达那件事,所以等待可以是空的。所以准备好,等待可以是空的,但不能运行。

于 2013-06-14T04:32:44.480 回答