Linux内核分析与应用5-中断

本系列是对 陈莉君 老师 Linux 内核分析与应用 的学习与记录。讲的非常之好,推荐观看

留此记录,蜻蜓点水,可作抛砖引玉


中断机制概述

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

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

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

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


5.2 中断处理机制

0x80,系统门的编号

思考:

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


5.3 中断下半部处理机制

软中断机制

小任务(tasklet)机制

思考:

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

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


5.4 时钟中断机制

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

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

相关推荐
松就是我90298几秒前
3.7 万 Star 的「第二大脑」Khoj,为什么关掉了云服务
后端
夜之眷属1 分钟前
PriorityQueue:for-each 遍历和 poll 取出,顺序一样吗?
java·服务器·数据结构·后端·算法
蒜香可达鸭2 分钟前
可控视频生成三类技术路线介绍
后端
暗夜行者之光4 分钟前
LangGraph + MCP 实战:构建"自然语言查数据"的 ChatBI Agent
前端·后端
一tiao咸鱼8 分钟前
还在手动海投?我做了个 AI 求职助手,自动筛选 BOSS 职位再精准投递
前端·后端·面试
码哥字节37 分钟前
Spring Boot 4.1 默认开虚拟线程,连接池为什么反而打满了?
spring boot·后端
KING-WU5121 小时前
Linux GDB 调试实战指南:从编译到断点调试
linux·运维·服务器
大白801 小时前
CSS 盒模型精讲:标准盒模型与 IE 怪异盒模型区别
后端
深蓝AI1 小时前
Python 写 JSON 写到一半崩了?用 os.replace 保住上一版配置(附故障注入)
后端
Lucis__1 小时前
深入理解程序链接与加载—从动静态链接到库加载
linux·elf·链接·程序·动静态库