著者:Ori Pomerantz 翻译:徐辉 译者前言 这是我的第一次尝试,在此之前我还没有接触过linux,所以翻译得很粗糙,有的地方我自己也不明白,只好照着翻下来。而且急急匆匆,毛毛草草,一定有许多错误或不当之处。我一向就是这么毛草的啦,总是给我的组织丢脸。所以如果你发现了有什么错误或者解释不清的地方,希望能够指正,敬请把您的金玉之言发到我的信箱里。 本人此举旨在结识天下linux英雄。本人徐辉(号:水光月...
详细点击:http://www.cdbook.cn/book.asp?id=1211 本书作者在整理自己多年研发笔记的基础上,以精心挑选的典型开发实例向读者详细地讲述了内核源代码的各部分结构、原理及组成框架,主要分析了linux最新版本(2.6.11)的内核源代码,帮助读者深入理解linux 内核,精通linux内核编程。全书分为20章,内容包括进程管理、进程间通信、内存管理、文件系统、I/O接口及资源管理、内核的编译及调试原理、网络通信、内核安全、USB驱...
Foreword Table of Contents 作者声明 版本和注意 感谢 译者注 作者声明 《linux内核驱动模块编程指南》最初是由Ori Pomerantz为2.2版本的内核编写的 ,后来,Ori将文档维护的任务交给了Peter Jay Salzman,Peter完成了2.4内核版本文档 的编写,毕竟linux内核驱动模块是一个更新很快的内容。现在,Peter也无法腾出足够的 时间来完成2.6内核版本文档的编写,目前该2.6内核版本的文档由合作者Michael Burian 完成。 版本和注意 Linu...
当我们用模块的方法来进行核心编程的时候,只能使用内核导出的变量和函数,可我们怎么知道哪些变量和函数被导出了呢,难道只能通过查KSYMS来看?也太麻烦了吧! 考虑功能的实现,要用到某个内核函数,还要去查一查,晕倒
著者:Ori Pomerantz 翻译:徐辉 9.替换printk’s 在开始(第1章)的时候,我们说过X与内核模块编程并不混合。这开发内核的时候这是正确的,但是在实际应用中我们希望把消息送到给模块的命令发来的任何一个tty(注9.1)。这在内核模块被释放时确认错误是很重要的,因为它将会在所有内核中使用。 这样做的方法是使用当前的概念,一个指向当前运行任务的指针,从而得到当前任务的tty结构。然后,我们到tty结构里寻找一个指向写...
2.字符设备文件 那么,现在我们是原始级的内核程序员,我们知道如何写不做任何事情的内核模块。我们为自己而骄傲并且高昂起头来。但是不知何故我们感觉到缺了什么东西。患有精神紧张症的模块不是那么有意义。 内核模块同进程对话有两种主要途径。一种是通过设备文件(比如/dev 目录中的文件),另一种是使用proc文件系统。我们把一些东西写入内核的一个主要原因就是支持一些硬件设备,所以我们从设备文件开始。 设备文件的最初...