By Peter Jay Salzman & Ori Pomerantz
This book is about writing Linux Kernel Modules. It is, hopefully, usefulfor programmers who know C and want to learn how to write kernel modules.It is written as an `How-To' instruction manual,with examples of all of the important techniques.
Although this book touches on many points of kernel design, it is notsupposed to fulfill that need --- there are other books on this subject,both in print and in the Linux documentation project.
This document is for people who want to write kernel modules. Although I will touch on how things are done in the kernel in several places, that is not my purpose. There are enough good sources which do a better job than I could have done.
This document is also for people who know how to write kernel modules, but have not yet adapted to version 2.2 of the kernel. If you are such a person, I suggest you look at appendix Chapter 15 to see all the differences I encountered while updating the examples. The list is nowhere near comprehensive, but I think it covers most of the basic functionality and will be enough to get you started.
The kernel is a great piece of programming, and I believe that programmers should read at least some kernel source files and understand them. Having said that, I also believe in the value of playing with the system first and asking questions later. When I learn a new programming language, I don't start with reading the library code, but by writing a small `hello, world' program. I don't see why playing with the kernel should be any different.
This document is also for people who know how to write kernel modules, but have not yet adapted to version 2.2 of the kernel. If you are such a person, I suggest you look at appendix Chapter 15 to see all the differences I encountered while updating the examples. The list is nowhere near comprehensive, but I think it covers most of the basic functionality and will be enough to get you started.
The kernel is a great piece of programming, and I believe that programmers should read at least some kernel source files and understand them. Having said that, I also believe in the value of playing with the system first and asking questions later. When I learn a new programming language, I don't start with reading the library code, but by writing a small `hello, world' program. I don't see why playing with the kernel should be any different.