Linux/Unix面试题

当前位置: 面试问题网 > Linux/Unix面试题 > 介绍一下Linux内核的排队自旋锁

介绍一下Linux内核的排队自旋锁

排队自旋锁(FIFO Ticket Spinlock)是 Linux 内核 2.6.25 版本引入的一种新型自旋锁,它通过保存执行线程申请锁的顺序信息解决了传统自旋锁的“不公平”问题。排队自旋锁的代码由 Linux 内核开发者 Nick Piggin 实现,目前只针对 x86 体系结构(包括 IA32 和 x86_64),相信很快就会被移植到其它平台。
  
   自旋锁(Spinlock)是在Linux 内核中广泛运用的底层同步机制。它是一种工作于多处理器环境的特殊的锁,在单处理环境中自旋锁的操作被替换为空操作。当某个处理器上的内核执行线程申请自旋锁时,如果锁可用,则获得锁,然后执行临界区操作,最后释放锁;如果锁已被占用,线程并不会转入睡眠状态,而是忙等待该锁,一旦锁被释放,则第一个感知此信息的线程将获得锁。
  
   传统的自旋锁本质上用一个整数来表示,值为1代表锁未被占用。这种无序竞争导致执行线程无法保证何时能取到锁,某些线程可能需要等待很长时间。随着计算机处理器个数的不断增长,这种“不公平”问题将会日益严重。

【介绍一下Linux内核的排队自旋锁】相关文章

1. 介绍一下Linux内核的排队自旋锁

2. Linux内核的同步机制是什么?主要有哪几种内核锁

3. Linux内核产生并发的原因

4. 介绍一下linux的文件权限

5. 介绍一下linux的文件系统

6. 介绍一下Linux文件的记录形式

7. 介绍一下linux文件系统分配策略

8. 介绍一下Linux中的链接

9. 信号量和自旋锁的区别?如何选择使用?

10. 说一下Linux下有关用户和组管理的命令

本文来源:https://www.mianshiwenti.com/a13631.html

点击展开全部

《介绍一下Linux内核的排队自旋锁》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝介绍一下Linux内核的排队自旋锁﹞相关内容

「介绍一下Linux内核的排队自旋锁」相关专题

其它栏目

也许您还喜欢