pengenwen
禁止发言
禁止发言
  • 注册日期2003-03-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1586分
  • 威望8380点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1029回复:5

我开个帖子,大家讨论一下驱动程序的同步和多处理器安全问题

楼主#
更多 发布于:2003-12-12 08:59
用户被禁言,该主题自动屏蔽!
yjhleaf
驱动小牛
驱动小牛
  • 注册日期2001-11-04
  • 最后登录2005-11-23
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-12 09:57
根据自己的情况而定,单CPU单线程应该可以不需要。双CPU是必须的。
忽如一夜春风来,千树万树梨花开。
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2003-12-12 10:20
在单CPU下用自旋锁其实就是提升IRQL到DISPATCH―LEVEL,你可以反汇编HAL的SPINLOCK函数就知道了,所以最好用自旋锁来同步,根本就不用去使用IRQL操作,自旋锁里都帮你封装好了。。。。。。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-12-12 12:41
读是不需要的。
pengenwen
禁止发言
禁止发言
  • 注册日期2003-03-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1586分
  • 威望8380点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-12-12 12:54
用户被禁言,该主题自动屏蔽!
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-12-12 17:10
这个东西不一点定的嘛,保不保护要看资源是否是互斥资源,如果多线程可能同时读写就要用。SPIN LOCK主要是在多处理器的时候让处理器同步,实际上是让其他处理器上跑的线程忙等。单处理器上SPIN LOCK的效果与直接用KERAISEIRQL效果一样,提到DISPATCH LEVEL禁止掉调度就可以,但是注意这时硬件中断打得进来,ISR里面不能访问刚才的互斥资源,访问动作放到DPC里面就行了吧,如果考虑代码的健壮性最好用SPIN LOCK,这样可以平台(HARDWARE)无关。
根据地的兄弟们,团结就是力量
游客

返回顶部