gpt4 book ai didi

linux - 从等待队列过渡到运行队列

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:38:51 24 4
gpt4 key购买 nike

当进程调用 wait_event_interruptible 时,进程进入休眠状态(假设满足条件且没有未决信号),调度程序将进程从运行队列移至等待队列。当有 wake_up 调用时,究竟如何以及谁将进程从等待队列中删除并将其保留在运行队列中?

萨克斯

最佳答案

“唤醒调用”是一个系统调用,由另一个线程/进程/任务(一些内核将状态放在线程而不是进程上)完成,线程/进程/任务在参数中唤醒.因为系统调用是一个中断(在Linux上是int $0x80,直到最近被基本相同的sysenter取代),因此进入内核,调度器会被调用,请求的thred/process/task会被pop出阻塞队列,插入就绪队列。如果这个线程/进程/任务的优先级最高,那么它最终会在从中断返回时运行,从而直接从阻塞状态进入运行状态。

关于linux - 从等待队列过渡到运行队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10932196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com