首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
下面哪种同步机制不能在中断上下文使用()
[单选题]
下面哪种同步机制不能在中断上下文使用()
自旋锁
信号量
原子操作
内存屏障
查看答案及解析
添加笔记
求解答(9)
邀请回答
收藏(294)
分享
纠错
8个回答
添加回答
10
LittleBocchi
这个有点印象。信号量机制可能会导致进程自我阻塞,当进程在中断上下文中阻塞,一直不能开中断,且关闭中断期间CPU不例行检查中断信号(CPU每执行完一条指令都会检查是否有中断信号需要处理),会导致处理机一直被该进程占用。原语一气呵成的原子特性就是通过关中断和开中断两个特权指令实现的,这也就是原语不会被中断的原因
编辑于 2019-11-28 11:58:35
回复(1)
7
我的天鸭
线程获取不到信号量的时候,
会进入睡眠
,直至有信号量释放出来时,才会唤醒睡眠的线程,进入临界区执行。
这个过程与调用频繁,处理速度快的中断上下文是冲突的,答案是B。
发表于 2019-09-03 19:46:28
回复(1)
2
刘西西Leyla
中断处理程序就是中断上下文,只有进程才能才会被设置为“运行”和“睡眠”状态,中断上下文不是一个进程,是不可调度的,所以中断上下文中不能存在睡眠 中断上下文不可调度的原因是:中断的产生是很频繁的(比如时钟中断),如果为中断上下文维护一个调度对应的task_struct结构,那么这个结构会频繁地分配、回收,会导致整个系统的吞吐量下降,故中断上下文不可调度
发表于 2022-06-09 00:47:36
回复(0)
2
牛客390580113号
所以原子操作能中断?
发表于 2021-11-09 13:00:40
回复(0)
0
JF-Mia
自旋锁是原子操作的一种应用,顾名思义,进程获取的共享数据被加锁时自己会死循环等待锁被释放,一般用于持续时间比较短的中断程序中。
信号量则是使用进程调度系统实现的一种锁,当资源被争用时进程会主动进入休眠状态等待唤醒,这样就不会像自旋锁那样空忙等待,所以一般在更长时间尺度的用户进程中会使用信号量。
由于信号量用到了进程调度的相关的睡眠唤醒等操作,所以它也只能用在进程代码上。而中断代码是没有调度的概念的
发表于 2023-03-07 21:06:42
回复(0)
0
云中的鱼儿
中断上下文就是中断程序?信号量会导致自我阻塞,原语虽然也关中断,但是会很快执行完毕,程序能够继续进行下去
发表于 2022-04-07 21:59:53
回复(0)
0
征途是一百级大牛
信号量机制不可以在中断上下文使用
发表于 2021-12-24 15:31:51
回复(0)
0
Anamor
中断上下文中不能睡眠
发表于 2019-11-16 21:25:49
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
iOS工程师
系统工程师
安卓工程师
运维工程师
小米集团
前端工程师
算法工程师
测试工程师
2019
Java工程师
操作系统
来自:
小米2019秋招系统软...
上传者:
小小
难度:
8条回答
294收藏
5589浏览
热门推荐
相关试题
有两个N*N的矩阵A和B,想要在P...
阿里巴巴
操作系统
评论
(38)
来自
阿里巴巴2015实习生笔试题
在金属发展史上,从陨铁的的锻制到人...
数据库工程师
搜狐畅游
游戏策划
游戏工程师
市场
2020
公关
商务
财务
人力资源
项目经理
系统工程师
评论
(1)
请编写实现malloc()内存分配...
微软
C++
操作系统
评论
(3)
数据库事务正确执行所需要素有哪几个()
小米集团
数据库
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
测试工程师
2019
系统工程师
评论
(3)
来自
小米2019秋招系统软件...
图中U和I分别为
电路基础
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题