linux - 为什么 Linux RT 不使用信号量?

标签 linux linux-device-driver

在阅读[1] 时我发现了以下内容

“这是通过将大多数内核自旋锁替换为支持优先级继承的互斥锁,以及将所有中断和软件中断移动到内核线程来实现的。”

我的问题是为什么不用信号量?

https://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch

最佳答案

互斥量是二进制信号量,因此它们使用信号量。

具体来说,锁的目的是保证互斥。这意味着,创建一个代码的关键部分,一次只能由一个上下文执行。所以我们想要一个只接受一个竞争者的信号量——这种信号量是一个二进制信号量,它有一个特殊的昵称来表示这种用途:互斥量。

关于linux - 为什么 Linux RT 不使用信号量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13656584/

相关文章:

linux - 如何在 Bash 脚本的循环中添加超过 1 个数字?

linux - 替换命令不起作用

php - UTF-8贯穿始终

linux-kernel - 如何使用单个 SPI 平台驱动程序处理 Linux 内核中的两个 SPI 设备?

linux - 删除所有具有相似模式且日期小于特定日期的文件

Java程序Opencv unsatisfiedlinkerror

linux-kernel - Linux 内核模块在卸载期间挂起

c - 在不同内核版本上加载驱动程序时出现 "Invalid module format"错误

linux - 如何解决SMP中的spinlock锁定,irq和function都需要锁?

linux - 设备驱动程序中的错误 : ‘usb_serial_probe’ undeclared, linux 3.10