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

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

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


中断机制概述

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

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

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

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


5.2 中断处理机制

0x80,系统门的编号

思考:

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


5.3 中断下半部处理机制

软中断机制

小任务(tasklet)机制

思考:

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

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


5.4 时钟中断机制

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

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

相关推荐
小兔子12 小时前
Unix domain socket 的四个边界:抽象地址没有权限,SO_PEERCRED 是快照
后端
小兔子12 小时前
no-cache 不是「不缓存」:RFC 9111 里几句常被读反的话
后端
Vecter12 小时前
于 Spring Boot 和 LangChain4j 的 Web 智能助手
后端
水饺编程12 小时前
第2章:Linux 基础,exit 命令
linux·c语言·汇编
张一凡9312 小时前
把“不要乱改”从提示词里拿出来,放进可校验的提案里
前端·后端·架构
一只爱撸猫的程序猿12 小时前
当任何人都能生成一万行代码:什么变得稀缺
人工智能·后端·程序员
木子欢儿12 小时前
Debian 13 + vsftpd 搭建FTP服务
linux·服务器·前端·网络·debian
Potato_土豆12 小时前
MCP Server 接入多个 AI 客户端:配置差异与 10 个真实踩坑
人工智能·后端·ai编程
低调滴开发12 小时前
3 行代码写崩一个函数?切片才是 Rust 字符串处理的正确姿势
开发语言·后端·rust
代码丰12 小时前
跨系统传输大 JSON:直接压缩,还是把数据放进 Redis?
redis·后端·json