腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何在
linux
内核
中添加自
定义
信号量
?
linux-kernel
基本上,我希望在
linux
内核
中实现自己的
信号量
,并能够在用户程序中使用它。有没有办法让使用用我的代码编译的
内核
的
linux
能够简单地通过包含一个头文件来使用我的
信号量
?当涉及到
linux
内核
时,我不是专业人士,所以如果我犯了任何明显的错误,
浏览 3
提问于2014-12-03
得票数 2
1
回答
未命名
信号量
(通过sem_init)是纯用户空间吗?
linux
、
semaphore
在
Linux
(2.6.27)上,当我调用sem_init()在共享内存中初始化一个未命名的
信号量
时,这个
信号量
是纯用户空间,还是由
Linux
内核
控制?如果持有这个
信号量
的进程死了,
信号量
会自动释放吗?
浏览 4
提问于2013-07-02
得票数 0
回答已采纳
2
回答
何时调用sem_unlink()?
linux
、
semaphore
我对
Linux
API sem_unlink()有点困惑,主要是在什么时候或为什么调用它。我在Windows中使用
信号量
已经很多年了。在Windows中,一旦关闭了命名
信号量
的最后一个句柄,系统就会删除底层
内核
对象。但是在
Linux
中,开发人员需要通过调用sem_unlink()来删除
内核
对象。如果不这样做,
内核
对象将保留在/dev/shm文件夹中。更重要的是,手册页充其量也是令人困惑的: “
信号量
名称将立即删除。一旦打开
信
浏览 1
提问于2013-03-02
得票数 15
1
回答
linux
中Posix
信号量
的源代码位置
c
、
linux
、
operating-system
、
kernel
我已经开始学习操作系统中
信号量
的概念了。我在
linux
中使用POSIX
信号量
。我使用了sem_init()、sem_wait()和sem_post()来初始化、递减和递增
信号量
变量。我已经检查了一些
内核
源文件,但我找不到它们。我可以从哪里获得这些源代码文件?谢谢。
浏览 0
提问于2015-06-17
得票数 4
1
回答
linux
中的等待队列与
信号量
linux
、
linux-kernel
、
operating-system
、
linux-device-driver
为什么我们在
linux
内核
中使用等待队列,而不是使用
信号量
进行同步?使用等待队列和
信号量
进行同步有什么区别?
浏览 5
提问于2012-10-29
得票数 3
回答已采纳
1
回答
linux
内核
中单处理器上的
信号量
linux-kernel
、
synchronization
、
semaphore
我试图理解
linux
内核
中的同步是如何工作的。我读到
信号量
可以用于异常,但我找不到一个情况的例子,
信号量
是需要的。那么为什么在单处理器系统中使用
信号量
呢?
浏览 1
提问于2017-02-14
得票数 0
2
回答
完成变量和
信号量
之间的区别
linux
、
operating-system
、
linux-kernel
在
linux
内核
中,
信号量
用于为数据的关键部分提供互斥,完成变量用于在等待事件的两个线程之间进行同步。为什么不使用
信号量
进行这样的同步呢?使用完成变量比使用
信号量
有什么优势吗?
浏览 1
提问于2011-01-22
得票数 9
回答已采纳
1
回答
实时
linux
操作系统上的c++编程
linux
、
linux-kernel
、
c++
、
real-time
与std
内核
相比,RT
linux
内核
上是否有RealTime C++应用程序(用户空间和
linux
驱动程序)的编程功能?
Linux
修补程序将更改应用于
内核
调度程序、
信号量
、muteces等,我想知道这些更改对开发人员是否透明?还是需要在书面上特别注意这类申请?
浏览 0
提问于2012-10-15
得票数 4
1
回答
有可能有一系列
信号量
吗?
c
、
linux
、
system
、
ipc
、
semaphore
所以我的想法是创建一个
信号量
数组,这样当我必须要分叉的时候,我可以通过使用数组中的索引来跟踪哲学家的数字和他的餐叉,这个索引最理想地包含资源。 所以我的问题是,这可能吗?
浏览 1
提问于2021-03-17
得票数 1
回答已采纳
1
回答
是否有不基于Mutex+CV的POSIX
信号量
的实现?
multithreading
、
real-time
我看到FreeBSD
内核
中的
信号量
不如来自这个手册页的Mutex+CV那么高效。我研究了来自来源 代码的POSIX
信号量
的
内核
和syscall实现,并确认它们是在Mutex+CV之上实现的。这可能是我的一种误解,即POSIX
信号量
作为实时同步化的原语,应该是非常有效的。但是在阅读和看到这些之后,我不确定它们的效率。 另外,我正在读并发编程:算法、原理和基础一书。现在,我还没有读完第一部分,但它即将介绍显示器(CV)实现在
信号量
之上。这让我想到,必须有一个有效的实际实现
信号量</e
浏览 0
提问于2022-08-03
得票数 0
1
回答
为什么我们需要单cpu上的
信号量
?
semaphore
我读过我们在
linux
中使用
信号量
,并且我看到
信号量
甚至在一个cpu中也有优势(我们只能运行一个进程\线程)。有人能给我举一个
信号量
解决问题的例子(在
内核
中)吗?
浏览 1
提问于2019-05-09
得票数 1
1
回答
信号量
与条件变量.抽象级别
c++
、
multithreading
、
c++11
、
synchronization
当我搜索如何在C++11中使用
信号量
时,我看到人们经常建议我用std::mutex和std::condition_variable (例如)来制作
信号量
。这使我认为
信号量
是一个比互斥变量和条件变量更高层次的抽象。 但是,在我学习了操作系统类之后,我现在知道在
内核
中,
信号量
通常是最低的抽象级别。
信号量
是通过禁用中断来实现的,锁本质上是值为1的
信号量
,而条件变量则是在不使用
信号量
或锁的情况下从底层实现的。因此,与锁或条件变量相比,
信号量
(
浏览 6
提问于2016-12-19
得票数 0
回答已采纳
1
回答
Linux
信号量
:自旋锁还是信号?
linux
、
linux-kernel
、
semaphore
当前
信号量
的实现是如何工作的?它使用自旋锁还是信号?另外,它是如何在用户空间中工作的?
内核
锁定推荐自旋锁,但用户空间不建议。那么,对于
信号量
而言,在用户空间和
内核
空间中实现是否不同呢?
浏览 3
提问于2013-08-20
得票数 1
回答已采纳
1
回答
为什么POSIX将
信号量
标准化为系统调用,而将互斥和条件变量留给P线程(用户级别)
pthreads
、
posix
、
mutex
、
semaphore
、
condition-variable
为什么POSIX将对
信号量
的支持标准化为syscall,而将条件变量和互斥对象留给线程库呢?我也不知道。猜测性能是不将互斥实现为syscall的考虑因素。(原子硬件指令是无特权的,因此在用户级别实现它们是可能的。尽管
Linux
提供了futex,但它实际上正试图将自旋锁优化为两阶段锁,以实现睡眠锁)。
信号量
的原因是
信号量
可以被不同的进程所操纵,而互斥体只能被持有它
浏览 4
提问于2020-03-03
得票数 1
回答已采纳
1
回答
在
Linux
内核
中实现正确的模块间同步
c
、
linux
、
embedded
、
driver
、
kernel-module
我正在为某个基于ARM的
Linux
板(实际上是一个自
定义
的UART驱动程序)实现一个自
定义
串行总线驱动程序。此驱动程序应允许通过自
定义
协议与总线另一端的某个MCU通信。驱动程序不会(实际上也不能是)将其任何函数公开给用户空间,也不可能在用户空间中实现它(因此,需要自
定义
驱动程序而不是使用库存TTY子系统)。我目前正在考虑使用
信号量
:用户模块将调用我的驱动程序的函数,该函数将启动传输并等待
信号量
;我的驱动程序的IRQ处理程序将向MCU发送请求并读取答案,并在完成后发送到<
浏览 4
提问于2012-04-02
得票数 8
回答已采纳
2
回答
在LinuxVersion3.2中,init_MUTEX去了哪里?
linux
、
linux-kernel
、
kernel
、
driver
、
linux-device-driver
我正在跟踪
Linux
设备驱动程序(第三版)。当我试图模仿第六章中的双桨例子时,会报告一个错误。顺便问一下,是否有一个列表可以检查所有
内核
API的更改?
浏览 5
提问于2015-01-06
得票数 5
回答已采纳
1
回答
在编译时静态初始化
信号量
?
linux-kernel
我一直试图遵循Love‘的一些语法,但在下面简化的
信号量
初始化过程中遇到了一些困难。在
内核
编译过程中,我一直得到一个“错误:预期的声明说明符或'&‘令牌’”,这使得我的sema_init()调用听起来像是一个函数原型,而它实际上只是一个静态的内联函数调用。#include <
linux
/sched.h>#include <
linux
/slab.h> #include &l
浏览 0
提问于2021-02-24
得票数 0
回答已采纳
1
回答
在
内核
开发中,有类似于互斥对象的down_interruptible()函数吗?
linux
、
linux-kernel
、
linux-device-driver
、
mutex
、
semaphore
在“
Linux
设备驱动程序第三版”一书中,互斥通过init_MUTEX(sem)通过
信号量
实现。然而,较新的
内核
,如
内核
3.2.X,已经删除了这个函数,并添加了互斥对象的支持。
浏览 5
提问于2015-01-15
得票数 1
回答已采纳
2
回答
Linux
中“锁”方法的原子性保证?
linux-kernel
、
mutex
、
semaphore
、
atomic
我们知道,
Linux
中的以下
内核
方法允许我们在共享数据上应用各种锁定机制。但是,
Linux
是否保证了方法本身的原子性?); write_unlock_irq(); write_trylock();
信号量
法();init_MUTEX_LOCKED();down();up(); 读取器-作家<
浏览 1
提问于2014-10-28
得票数 4
回答已采纳
3
回答
具有FIFO等待队列的
Linux
同步
linux
、
synchronization
、
pthreads
、
mutex
、
semaphore
在等待队列为FIFO的
Linux
中有锁吗?这似乎是很明显的事情,然而我刚刚发现pthread互斥锁不是FIFO,
信号量
显然也不是FIFO (我正在做2.4
内核
(家庭作业))……
Linux
是否有一个带有FIFO等待队列的锁,或者有没有一种简单的方法可以用现有的机制创建一个锁
浏览 2
提问于2010-06-16
得票数 5
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux系统编程 信号量
Linux内核出现漏洞
Windows 内核和 Linux 内核的区别(二)
Windows 内核和 Linux 内核的区别(一)
谷歌 Linux 内核开发者使用 macOS 编译 ARM64 Linux 内核
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券