- 103
- 0
- 约4.58万字
- 约 41页
- 2021-10-26 发布于天津
- 举报
第 3 章 内核组件
本章将对一些驱动开发相关的内核组件进行讲解。我们首先以内核线程开始,它类似
于用户空间的进程,通常用于并发处理。
另外,内核还提供了一些接口,使用它们可以简化代码、消除冗余、增强代码可读性
并有利于代码的长期维护。本章会学习链表、哈希链表、工作队列、通知链 (notifier chai
n) 、完成以及错误处理辅助接口等。这些辅助接口经过了优化,而且清除了 bug ,因此你
的驱动可以继承这些优点。
内核线程
内核线程是一种在内核空间实现后台任务的方式。该任务可以是繁忙地处理异步事
务,也可以睡眠等待某事件的发生。内核线程与用户进程相似,唯一的不同是内核线程位
于内核空间可以访问内核函数和数据结构。和用户进程相似,由于可抢占调度的存在,内
核现在看起来也在独占 CPU 。很多设备驱动都使用了内核线程以完成辅助任务。例如, U
SB 设备驱动核心的 khubd 内核线程的作用就是监控 USB 集线器,并在
原创力文档

文档评论(0)