Linux中断
Linux 中断机制通过在事件发生时暂停当前执行并进入处理程序,实现对外设和内部事件的实时响应;中断处理按上半部快速处理紧急任务、下半部处理耗时任务,并通过用户层、通用层、硬件相关层、硬件层及 GIC 中断控制器协同完成管理与分发。
Linux高级字符设备进阶
围绕 Linux 高级字符设备开发,梳理 container_of 宏的结构体反推原理、内核循环双向链表的创建、增删与遍历方法,以及睡眠机制和等待队列在阻塞 I/O、资源等待与进程唤醒中的作用和常用 API。
Linux并发与竞争
Linux 驱动开发中的并发竞争源于多线程、中断、内核抢占和 SMP 多核访问共享资源,需通过原子操作、自旋锁、互斥锁、信号量、读写锁、RCU 和 per-CPU 等机制保证数据一致性。
Linux字符设备基础
Linux 字符设备基础涵盖设备号的主次设备号划分、dev_t 编码及 MAJOR/MINOR/MKDEV 等操作宏,并说明静态与动态申请、释放设备号的方法,以及 cdev 结构体和字符设备注册的基本流程。
Linux驱动加载逻辑
Linux 驱动通过 module_init 注册初始化入口:内建驱动将函数指针放入对应 initcall 段并按启动阶段优先级调用,module_exit 对其无效;__init/__exit 依赖链接器脚本放置到专用段,部分架构的 initcall 表可使用 PREL32 相对重定位。
Linux驱动框架
Linux 驱动框架将设备抽象为字符设备、块设备和网络设备,内核源码按架构、驱动、文件系统、内存、网络等目录组织;基础驱动由头文件、加载/卸载函数、许可证声明及可选模块参数、作者和版本信息组成,模块加载成功取决于初始化函数返回值。
