gpt4 book ai didi

linux - 持有信号量的代码可以被抢占是什么意思

转载 作者:太空宇宙 更新时间:2023-11-04 10:05:05 24 4
gpt4 key购买 nike

我正在浏览 Robert Love Book,对这一行有点困惑。持有信号量的代码可以被抢占是什么意思?

如果中断发生在访问用户空间应用程序在临界区中执行代码时访问的相同变量,那么用户空间应用程序可以被抢占吗?

如果我的上述理解是正确的,那么当用户空间应用程序处于临界区时,除了自旋锁之外没有其他选择来禁用中断吗?

那么信号量在OS上下文中有什么用呢?当用户应用程序处于临界区时,中断随时可能发生,为了避免中断干预,我们需要一直使用自旋锁。

最佳答案

持有信号量的代码可以被抢占是什么意思?
这意味着当前在其临界区中运行的进程可以抢占以同步为目的持有一些锁。理想情况下中断具有最高优先级,因此除非您禁用该处理器内核上的中断,否则正在运行的进程可以被抢占,这可能发生在进程处于临界区时。

虽然有多个 spin_lock_XXX api 可以禁用中断,但您可能想使用spin_lock_irqsave,因为它将中断标志保存在该内核上并在释放锁时恢复它们。

关于linux - 持有信号量的代码可以被抢占是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53126351/

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