Linux/Unix面试题

当前位置: 面试问题网 > Linux/Unix面试题 > Linux内核的同步机制是什么?主要有哪几种内核锁

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

Linux的同步机制从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Linux从单处理器到对称多处理器的过渡;
   伴随着从非抢占内核到抢占内核的过度。Linux的锁机制越来越有效,也越来越复杂。
  
   Linux的内核锁主要是自旋锁和信号量。
   自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,那么这个线程就会一直进行忙循环——旋转——等待锁重新可用。要是锁未被争用,请求它的执行线程便能立刻得到它并且继续进行。自旋锁可以在任何时刻防止多于一个的执行线程同时进入临界区。
   Linux中的信号量是一种睡眠锁。如果有一个任务试图获得一个已被持有的信号量时,信号量会将其推入等待队列,然后让其睡眠。这时处理器获得自由去执行其它代码。当持有信号量的进程将信号量释放后,在等待队列中的一个任务将被唤醒,从而便可以获得这个信号量。
  
   信号量的睡眠特性,使得信号量适用于锁会被长时间持有的情况;只能在进程上下文中使用,因为中断上下文中是不能被调度的;另外当代码持有信号量时,不可以再持有自旋锁。

【Linux内核的同步机制是什么?主要有哪几种内核锁】相关文章

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

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

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

4. Servlet都有哪些方法?主要作用是什么?

5. 说出数据连接池的工作机制是什么?

6. Java中实现多态的机制是什么?

7. XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?

8. 什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?

9. 你所知道的集合类都有哪些?主要方法?

10. 为什么要优先使用同步代码块而不是同步方法?

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

点击展开全部

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

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

推荐程度:

进入下载页面

﹝Linux内核的同步机制是什么?主要有哪几种内核锁﹞相关内容

「Linux内核的同步机制是什么?主要有哪几种内核锁」相关专题

其它栏目

也许您还喜欢