免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: dreamice
打印 上一主题 下一主题

Linux驱动开发庖丁解牛之四——并发控制之信号量(1) [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-11-11 15:58 |只看该作者
先支持,稍后拜读!

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
12 [报告]
发表于 2009-11-11 16:08 |只看该作者

回复 #10 godbach 的帖子

呵呵,总结一下,最近很多人老问这个问题。我觉得其实跟一下源代码,很多问题还是蛮简单的

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
13 [报告]
发表于 2009-11-11 17:37 |只看该作者
是啊
源代码都开放了,再去问就不对劲了
哈哈

论坛徽章:
0
14 [报告]
发表于 2009-11-11 22:23 |只看该作者

回复 #3 dreamice 的帖子

请教下LZ   
         sem->count--;
count有什么作用!!为什么加加..又为什么渐减!!



感觉是不是可以去掉!!!  既然之前有个spinlock    那就只能有一个能进去,干嘛还用count控制

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
15 [报告]
发表于 2009-11-11 22:30 |只看该作者

回复 #14 xiaochangfu 的帖子

count是信号量计数,当获得这个信号量以后,就要计数器减减,这样表示获取了这个信号量。而加加,则标识释放了这个信号量。你可以理解一下PV原语的操作

论坛徽章:
0
16 [报告]
发表于 2009-11-12 09:54 |只看该作者

回复 #15 dreamice 的帖子

pv就是信号量!!然后这个程序本身就是用了down,up的信号量操作,这个倒是明白..


down里面有用到spinlock机制,可是spinlock里面用到count,我倒不是不明白count的用意!我不明白为什么spinlock的临界区还要用到count  这样产生的效果是什么!!不用的后果又是什么!!
呵呵!!

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
17 [报告]
发表于 2009-11-12 11:13 |只看该作者

回复 #16 xiaochangfu 的帖子

count作为资源的标识,其本身就是一个临界资源,也存在并发访问的控制问题。

论坛徽章:
0
18 [报告]
发表于 2009-11-12 14:10 |只看该作者

回复 #17 dreamice 的帖子

明白了!count本身就是临界资源!本省就是pv操作的数字!


但是我以前做的那个spinlock测试,,感觉对spinlock  还是一知半解!!
因为spin基于smp和抢占的up,也只能运用于内核态,好像对其测试,有点难!!

[ 本帖最后由 xiaochangfu 于 2009-11-12 14:16 编辑 ]

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
19 [报告]
发表于 2009-11-12 22:30 |只看该作者

回复 #18 xiaochangfu 的帖子

也可以测试的,通过写内核线程来测试就是了

论坛徽章:
0
20 [报告]
发表于 2009-11-12 23:09 |只看该作者

回复 #19 dreamice 的帖子

LZ能不能写两个线程  示范下!!呵呵!!学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP