发博文
正文 字体大小:

The Linux Kernel Module Programming Guide(11)

(2007-05-31 18:39:30)
 

Appendix B. Where To Go From Here

B.1. 为什么这样写?

我其实可以给这本书再加入几章,例如如何为实现新的文件系统加上一章,或是添加一个新的协议栈(如果有这样的必要的话, 想找到Linux不支持的网络协议已经是非常的困难的了)。我还可以解释一下我们尚未接触到的内核实现机制,像系统的引导自举, 或磁盘存储。

但是,我决定否。我写本书的目的是提供基本的,入门的对神秘的内核模块编程的认识和这方面的常用技巧。 对于那些非常热衷与内核编程的人,我推荐Juan-Mariano de Goyeneche的 内核资源列表 。 同样,就同Linus本人说的那样,学习内核最好的方法是自己阅读内核源代码。

如果你对更多的短小的示例内核模块感兴趣,我向你推荐 Phrack magazine 这本杂志。 即使你不关心安全问题,作为一个程序员你还是应该时时考虑这个问题的。这些内核模块代码都很短,不需要费多大劲就能读懂。

我希望我满足了你希望成为一个更优秀的程序员的要求,至少在学习技术的过程中体会到了乐趣。 如果你真的写了一些非常有用的模块,我希望你使用GPL许可证发布你的模块,这样我也就可以使用它们了。


Index


A

asm
uaccess.h, 从2.0到2.2的变化

asm/uaccess.h, 从2.0到2.2的变化

B

BH_IMMEDIATE, Interrupt Handlers
blocking processes, 阻塞进程
blocking, how to avoid, Enter Sandman
bottom half, Interrupt Handlers
busy, Enter Sandman

E

EAGAIN, Enter Sandman
EINTR, Enter Sandman
elf_i386, 由多个文件构成的内核模块
ENTRY(system call), 系统调用
entry.S, 系统调用

F

file, 关于file结构体
filesystem
/proc, 关于 /proc 文件系统

registration, 使用 /proc 作为输入

filesystem registration, 使用 /proc 作为输入
file_operations, 关于file_operations结构体
file_operations structure, 使用 /proc 作为输入
flush, 从2.0到2.2的变化

H

handlers
interrupt, Interrupt Handlers

housekeeping, 任务调度
Hurd, 代码空间

M

major number, Major and Minor Numbers
dynamic allocation, 注册一个设备

mark_bh, Interrupt Handlers
memory segments, 使用 /proc 作为输入
microkernel, 代码空间
minor number, Major and Minor Numbers
mknod, Major and Minor Numbers
modem, 与设备文件对话 (writes and IOCTLs)
module
parameters, 从2.0到2.2的变化

module parameters, 从2.0到2.2的变化
module.h, 由多个文件构成的内核模块
modules.conf
alias, 内核模块是如何被调入内核工作的?

comment, 内核模块是如何被调入内核工作的?

keep, 内核模块是如何被调入内核工作的?

options, 内核模块是如何被调入内核工作的?

path, 内核模块是如何被调入内核工作的?

MODULE_AUTHOR(), Hello World (part 4): 内核模块证书和内核模块文档说明
module_cleanup, 任务调度
MODULE_DESCRIPTION(), Hello World (part 4): 内核模块证书和内核模块文档说明
module_exit, Hello World (part 2)
module_init, Hello World (part 2)
module_interruptible_sleep_on, Enter Sandman
MODULE_LICENSE(), Hello World (part 4): 内核模块证书和内核模块文档说明
MODULE_PARM, 从2.0到2.2的变化
module_permissions, 使用 /proc 作为输入
module_sleep_on, Enter Sandman, 任务调度
MODULE_SUPPORTED_DEVICE(), Hello World (part 4): 内核模块证书和内核模块文档说明
module_wake_up, Enter Sandman
MOD_DEC_USE_COUNT, 注销一个设备
MOD_INC_USE_COUNT, 注销一个设备
MOD_IN_USE, 注销一个设备
monolithic kernel, 代码空间
multi-processing, 对称多线程处理
multi-tasking, Enter Sandman
multitasking, Enter Sandman

阅读 评论 收藏 转载 打印举报
  • 评论加载中,请稍候...

       

    验证码: 请点击后输入验证码 收听验证码

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有