哪个进程进入等待队列

时间:2012-05-22 12:44:13

标签: operating-system queue semaphore

假设我们使用信号量来提供互斥,并且一个过程正在关键部分执行。然后另一个进程来使用关键区域,是否会被放入等待队列?

我怀疑哪个进程将此进程置于等待队列中?

提前致谢,

2 个答案:

答案 0 :(得分:2)

在典型的操作系统中,这由内核而不是进程处理。内核会跟踪存在哪些关键区域以及哪些进程占用它们。同样在典型的操作系统中,调度程序也是内核的一部分,因此调度程序将使进程处于等待状态(或更准确地说,更可能是阻塞状态)。

答案 1 :(得分:1)

当线程/进程/任务请求互斥对象时,它会向处理互斥对象的内核进行系统调用。如果此对象目前不可用,则内核将此线程/进程/任务置于等待/阻塞队列中并选择另一个队列。