中断机制概述


中断是CPU对系统发生的某个事件作出的一种反应, 当中断发生时,CPU暂停正在执行的程序,保留现场后,自动转去执行相应事件的处理程序,处理完成后,返回断点,继续执行被打断的程序.

中断是操作系统的脉搏,是并发处理的基础.

中断的引入,是为了支持CPU和设备之间的并行操作.





中断看似简单,但工程性非常强



5.2 中断处理机制


0x80,系统门的编号





思考:

“中断返回”除了返回现场外,从源代码角度分析内核还做了什么?



5.3 中断下半部处理机制


软中断机制



小任务(tasklet)机制

思考:

  1. 为什么要有中断下半部分处理机制?而且有好几种机制?

  2. 中断下半部分处理机制中,你认为是否还有改进的余地?



5.4 时钟中断机制





在考察了如基树树,哈希表等多种数据结构后, hrtimer使用了红黑树(rbtree). 树最左边的节点是最快到期的时间

在内核中,除了被广泛使用的双向链表,红黑树使用场景也非常多.


思考:

  1. 系统有了低精度定时器,为什么还要有高精度定时器?

  2. 二者之间兼容么,在实现上有关系吗?



5.5 动手实践(上)




5.6 动手实践(下)