<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 98.1 release (February 19th, 1998) originally by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Who Should Read This</TITLE> <META NAME="description" CONTENT="Who Should Read This"> <META NAME="keywords" CONTENT="mpg"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <LINK REL="STYLESHEET" HREF="mpg.css"> <LINK REL="next" HREF="node4.html"> <LINK REL="previous" HREF="node2.html"> <LINK REL="up" HREF="node2.html"> <LINK REL="next" HREF="node4.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html422" HREF="node4.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> <A NAME="tex2html418" HREF="node2.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> <A NAME="tex2html412" HREF="node2.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> <A NAME="tex2html420" HREF="node1.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> <A NAME="tex2html421" HREF="node34.html"> <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> <BR> <B> Next:</B> <A NAME="tex2html423" HREF="node4.html">Note on the Style</A> <B> Up:</B> <A NAME="tex2html419" HREF="node2.html">Introduction</A> <B> Previous:</B> <A NAME="tex2html413" HREF="node2.html">Introduction</A> <BR> <BR> <!--End of Navigation Panel--> <H1><A NAME="SECTION00210000000000000000"> </A><A NAME="who-should-read"> </A> <BR> Who Should Read This </H1> <P> 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. <P> 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 <A HREF="node28.html#ver-changes">A</A> 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. <P> 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. <P> <HR> <!--Navigation Panel--> <A NAME="tex2html422" HREF="node4.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> <A NAME="tex2html418" HREF="node2.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> <A NAME="tex2html412" HREF="node2.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> <A NAME="tex2html420" HREF="node1.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> <A NAME="tex2html421" HREF="node34.html"> <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> <BR> <B> Next:</B> <A NAME="tex2html423" HREF="node4.html">Note on the Style</A> <B> Up:</B> <A NAME="tex2html419" HREF="node2.html">Introduction</A> <B> Previous:</B> <A NAME="tex2html413" HREF="node2.html">Introduction</A> <!--End of Navigation Panel--> <ADDRESS> <I></I> <BR><I>1999-05-19</I> </ADDRESS> </BODY> </HTML>