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

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

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


中断机制概述

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

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

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

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


5.2 中断处理机制

0x80,系统门的编号

思考:

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


5.3 中断下半部处理机制

软中断机制

小任务(tasklet)机制

思考:

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

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


5.4 时钟中断机制

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

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

相关推荐
雪隐5 分钟前
个人电脑玩AI-10让5060 Ti给你打工——ComfyUI,我差点被它劝退三次
人工智能·后端
库玛西10 分钟前
深入剖析 Linux 线程机制与分页式存储管理
linux·服务器·c++·笔记
春卷同学24 分钟前
HarmonyOS掌上记账APP开发实践第18篇:编译时优化与 ArkTS 语法限制 — 提升应用性能的编码规范
linux·运维·ubuntu
工具派26 分钟前
写代码时,我把这个本地 AI Commit Message 生成器接进了工作流
前端·后端
犀利豆32 分钟前
AI 时代使用 Obsidian 作为 IDE
人工智能·后端
用户7917286761971 小时前
在 opencode 中使用 opencode-plugin-loop 插件完全指南
后端
用户3126874877201 小时前
MyBatis-Plus 动态分表实战:基于 DynamicTableNameInnerInterceptor 的多端数据隔离方案
后端
干到60岁退休的码农1 小时前
SpringBoot整合Mybatis-plus
spring boot·后端·mybatis
掘金者阿豪1 小时前
从Oracle迁到金仓,第一个月踩的最大的坑就是它
前端·后端
aramae1 小时前
C++11:现代C++的里程碑
c语言·开发语言·c++·windows·git·后端