Linux内核面试精解:30道典试题及答案.pdfVIP

  • 1
  • 0
  • 约2.7万字
  • 约 16页
  • 2026-05-29 发布于北京
  • 举报

Linux内核面试精解:30道典试题及答案.pdf

Linux内核面试题(30道含)

1.Linux中主要有哪几种内核锁?

Linux的同步机制从2.0到2.6以来不断发展完善。从最初的原子操作,到后来

的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Linux从单处

理器到对称多处理器的过渡;伴随着从非抢占内核到抢占内核的过度。Linux的

锁机制越来越有效,也越来越复杂。

自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用

已经被持有)的自旋锁,那么这个线程就会一直进行忙循环——旋转——等待锁

重新可用。要是锁未被争用,请求它的执行线程便能立刻得到它并且继续进行。自旋

锁可以在任何时刻防止多于一个的执行线程同时进入临界区。

信号量的睡眠特性,使得信号量适用于锁会被长时间持有的情况;只能在进程上

下文中使用,因为中断上下文中是不能被调度的;另外当代码持有信号量时,不

可以再持有自旋锁。

Linux内核中的同步机制:原子操作、信号量、读写信号量和自旋锁的API,另

外一些同步机制,包括大内核锁、读写锁、大读者锁、RCU(Read-CopyUpdate,

顾名思义就是读-拷贝修改),和顺序锁。

2.Linux中的用户模式和内核模式

文档评论(0)

1亿VIP精品文档

相关文档