【问题标题】:which process puts in waiting queue哪个进程进入等待队列
【发布时间】:2012-06-14 18:46:33
【问题描述】:

假设我们使用信号量来提供互斥,并且一个进程正在临界区执行。那么另一个进程来使用临界区,是否会被放入等待队列?

我怀疑哪个进程将这个进程放入等待队列?

提前致谢,

【问题讨论】:

    标签: operating-system queue semaphore


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2012-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多