当前位置:  技术问答>linux和unix

问一个关于自旋锁的问题?

    来源: 互联网  发布时间:2016-09-26

    本文导语:  很多资料上都说,自旋锁用在单核非抢占式的内核时,在编译的时候就时会被完成剔除出内核。这句话是怎么理解的呢? 是不是说在单核非抢占式的内核中自旋锁不起作用?还是根本不会出现竞争资源的情况,因为...

很多资料上都说,自旋锁用在单核非抢占式的内核时,在编译的时候就时会被完成剔除出内核。这句话是怎么理解的呢?
是不是说在单核非抢占式的内核中自旋锁不起作用?还是根本不会出现竞争资源的情况,因为是单核非抢占式的内核

|
linux内核设计与实现中文版p101原话,注意在单处理器机器上编译的时候并不会加入自旋锁。它仅仅被当作一个设置内核抢占机制是否被启动的开关。如果禁止内核抢占,那么在编译内核时候自旋锁被剔除!这样的话是不是够明白呢?

|
对于单cpu 非抢占内核
进程上下文中保护临界区什么也不需要
中断上下文只需要禁止中断

这里无论是进程上下文还是中断上下文,都不需要自旋锁

|


不用锁哪来的死锁
应该说单cpu 非抢占内核中,只要禁止中断就能实现所有的对临界区的保护

|
我对ARM不熟,尚未听说多核ARM
既然很有兴趣,那就看eldd
讨论了4种情况
(1 )非抢占内核,单CPU 情况下存在于进程上下文的临界区;

(2 )非抢占内核,单CPU 情况下存在于进程和中断上下文的临界区;

(3 )可抢占内核,单CPU 情况下存在于进程和中断上下文的临界区;

(4 )可抢占内核,SMP 情况下存在于进程和中断上下文的临界区。 

http://blog.csdn.net/nhczp/archive/2009/10/08/4643425.aspx



    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 自旋锁和读写自旋锁、信号量和读写信号量分别有什么区别?
  • 中断处理函数中使用自旋锁的疑问
  • 自旋锁使用
  • 内核同步中 自旋锁的用法??
  • spin_lock为什么不自旋?
  • linux中的自旋锁相关的宏的源代码的疑问
  • 在获得自旋锁后为什么不能够进行可能引起休眠的操作?
  • 书上说,中断用自旋锁,进程,用信号量,但是,为什么中断不能用信号量?
  • 关于有自旋锁进程不能被抢占和调度
  • 有关sql server中的自旋锁
  • 嵌入式2.6.8对自旋锁分配内存失败
  • 内核自旋锁spin_lock,获取已锁住的锁时Linux死机
  • netfilter中能否使用自旋锁数组啊?
  • Java锁之自旋锁详解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3