7、内核与设备驱动开发基础:源码、中断及相关机制解析

内核与设备驱动开发基础:源码、中断及相关机制解析

1. 内核源码位置与关键结构

在深入内核开发的过程中,了解关键内核线程和函数的源码位置至关重要。以下是一些重要内核元素的所在文件:
- 内核线程 :ksoftirqd、pdflush 和 khubd 内核线程分别位于 kernel/softirq.c、mm/pdflush.c 和 drivers/usb/core/hub.c。
- 关键函数 :daemonize() 函数在 kernel/exit.c 中;用户模式辅助程序的实现可查看 kernel/kmod.c。
- 库例程 :列表和 hlist 库例程存于 include/linux/list.h,该库在整个内核中广泛使用,例如 include/linux/blkdev.h 中定义的 request_queue 结构就使用了链表来管理磁盘 I/O 请求。

此外,还可以访问 www.ussg.iu.edu/hypermail/linux/kernel/0007.3/0805.html 查看 Linus Torvalds 和 Andi Kleen 关于使用 hlist 辅助例程补充列表库优缺点的有趣讨论。

2. 内核数据结构与编程接口

以下是一些重要内核数据结构及其定义位置和描述:
| 数据结构 | 位置 | 描述 |
| —

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值