📄 index.html
字号:
<HTML
><HEAD
><TITLE
>Linux内核驱动模块编程指南 (内核版本2.2, 2.4)</TITLE
><META
NAME="GENERATOR"
CONTENT="Microsoft FrontPage 4.0"><LINK
REL="NEXT"
TITLE="前言"
HREF="f23.html"></HEAD
><BODY
CLASS="BOOK"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="BOOK"
><A
NAME="AEN1"
></A
><DIV
CLASS="TITLEPAGE"
>
<H1
CLASS="TITLE"
><A
NAME="AEN2"
></A
>Linux内核驱动模块编程指南 (内核版本2.2, 2.4)</H1
><SPAN
CLASS="COLLAB"
><SPAN
CLASS="COLLABNAME"
>Peter Jay Salzman</SPAN
><BR></SPAN
><SPAN
CLASS="COLLAB"
><SPAN
CLASS="COLLABNAME"
>Ori Pomerantz</SPAN
><BR></SPAN
><P
CLASS="COPYRIGHT"
>
版权
© 2001 Peter Jay Salzman</P
><P
CLASS="PUBDATE"
>2003-04-04 ver 2.4.0<BR></P
><HR></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>内容表</B
></DT
><DT
><A
HREF="f23.html"
>前言</A
></DT
><DD
><DL
><DT
>1. <A
HREF="x25.html"
>声明</A
></DT
><DT
>2. <A
HREF="x34.html"
>注意</A
></DT
>
<DT
>3. <A
HREF="bytranslator.html"
>译者注</A
></DT
></DL
></DD
><DT
>1. <A
HREF="c39.html"
>序言</A
></DT
><DD
><DL
><DT
>1.1. <A
HREF="x41.html"
>什么是内核模块?</A
></DT
><DT
>1.2. <A
HREF="x45.html"
>内核模块是如何进入内核工作的?</A
></DT
></DL
></DD
><DT
>2. <A
HREF="c143.html"
>Hello World</A
></DT
><DD
><DL
><DT
>2.1. <A
HREF="x145.html"
>Hello, World (part 1): 最简单的内核模块</A
></DT
><DT
>2.2. <A
HREF="x204.html"
>编译内核模块</A
></DT
><DT
>2.3. <A
HREF="hello2.html"
>Hello World (part 2)</A
></DT
><DT
>2.4. <A
HREF="x277.html"
>Hello World (part 3): 关于 <TT
CLASS="LITERAL"
>__init</TT
> and <TT
CLASS="LITERAL"
>__exit</TT
>宏</A
></DT
><DT
>2.5. <A
HREF="x317.html"
>Hello World (part 4): 内核模块证书和内核模块文档说明</A
></DT
><DT
>2.6. <A
HREF="x350.html"
>从命令行传递参数给内核模块</A
></DT
><DT
>2.7. <A
HREF="x377.html"
>由多个文件构成的内核模块</A
></DT
></DL
></DD
><DT
>3. <A
HREF="c427.html"
>开始热身</A
></DT
><DD
><DL
><DT
>3.1. <A
HREF="x429.html"
>内核模块和用户程序的区别</A
></DT
></DL
></DD
><DT
>4. <A
HREF="c569.html"
>字符设备文件</A
></DT
><DD
><DL
><DT
>4.1. <A
HREF="x571.html"
>字符设备驱动程序</A
></DT
></DL
></DD
><DT
>5. <A
HREF="c714.html"
>/proc文件系统</A
></DT
><DD
><DL
><DT
>5.1. <A
HREF="x716.html"
>/proc文件系统</A
></DT
></DL
></DD
><DT
>6. <A
HREF="c760.html"
>使用 /proc 输入</A
></DT
><DD
><DL
><DT
>6.1. <A
HREF="x762.html"
>使用/proc输入</A
></DT
></DL
></DD
><DT
>7. <A
HREF="c846.html"
>与设备文件对话</A
></DT
><DD
><DL
><DT
>7.1. <A
HREF="x848.html"
>与设备文件对话 (writes and IOCTLs)}</A
></DT
></DL
></DD
><DT
>8. <A
HREF="c929.html"
>操作系统调用</A
></DT
><DD
><DL
><DT
>8.1. <A
HREF="x931.html"
>操作系统调用</A
></DT
></DL
></DD
><DT
>9. <A
HREF="c1006.html"
>阻塞进程</A
></DT
><DD
><DL
><DT
>9.1. <A
HREF="x1008.html"
>阻塞进程</A
></DT
></DL
></DD
><DT
>10. <A
HREF="c1109.html"
>覆盖Printks</A
></DT
><DD
><DL
><DT
>10.1. <A
HREF="x1111.html"
>覆盖 <TT
CLASS="FUNCTION"
>printk</TT
></A
></DT
></DL
></DD
><DT
>11. <A
HREF="c1143.html"
>任务调度</A
></DT
><DD
><DL
><DT
>11.1. <A
HREF="x1145.html"
>任务调度</A
></DT
></DL
></DD
><DT
>12. <A
HREF="interrupthandlers.html"
>中断处理</A
></DT
><DD
><DL
><DT
>12.1. <A
HREF="x1206.html"
>中断处理</A
></DT
></DL
></DD
><DT
>13. <A
HREF="c1289.html"
>对称多线程处理</A
></DT
><DD
><DL
><DT
>13.1. <A
HREF="x1291.html"
>对称多线程处理</A
></DT
></DL
></DD
><DT
>14. <A
HREF="c1315.html"
>注意</A
></DT
><DD
><DL
><DT
>14.1. <A
HREF="x1317.html"
>注意</A
></DT
></DL
></DD
><DT
>A. <A
HREF="a1352.html"
>从 2.0 到 2.2的变化</A
></DT
><DD
><DL
><DT
>A.1. <A
HREF="x1354.html"
>从 2.0 到 2.2的变化</A
></DT
></DL
></DD
><DT
>B. <A
HREF="a1481.html"
>为什么这样写?</A
></DT
><DD
><DL
><DT
>B.1. <A
HREF="x1483.html"
>为什么这样写?</A
></DT
></DL
></DD
><DT
><A
HREF="doc-index.html"
>索引</A
></DT
></DL
></DIV
><DIV
CLASS="LOT"
><DL
CLASS="LOT"
><DT
><b>所用的示例代码的列表</b></DT
><DT
>2-1. <A
HREF="x145.html#AEN152"
>hello-1.c</A
></DT
><DT
>2-2. <A
HREF="x204.html#AEN242"
>最基本的内核模块使用的Makefile</A
></DT
><DT
>2-3. <A
HREF="hello2.html#AEN268"
>hello-2.c</A
></DT
><DT
>2-4. <A
HREF="hello2.html#AEN272"
>两个内核模块使用的Makefile</A
></DT
><DT
>2-5. <A
HREF="x277.html#AEN307"
>hello-3.c</A
></DT
><DT
>2-6. <A
HREF="x317.html#AEN347"
>hello-4.c</A
></DT
><DT
>2-7. <A
HREF="x350.html#AEN373"
>hello-5.c</A
></DT
><DT
>2-8. <A
HREF="x377.html#AEN413"
>start.c</A
></DT
><DT
>2-9. <A
HREF="x377.html#AEN420"
>stop.c</A
></DT
><DT
>2-10. <A
HREF="x377.html#AEN424"
>多个源代码文件构成的内核模块使用的Makefile</A
></DT
><DT
>4-1. <A
HREF="x571.html#AEN692"
>chardev.c</A
></DT
><DT
>4-2. <A
HREF="x571.html#AEN709"
>支持多版本内核的宏</A
></DT
><DT
>5-1. <A
HREF="x716.html#AEN757"
>procfs.c</A
></DT
><DT
>6-1. <A
HREF="x762.html#AEN843"
>procfs.c</A
></DT
><DT
>7-1. <A
HREF="x848.html#AEN907"
>chardev.c</A
></DT
><DT
>7-2. <A
HREF="x848.html#AEN914"
>chardev.h</A
></DT
><DT
>7-3. <A
HREF="x848.html#AEN926"
>ioctl.c</A
></DT
><DT
>8-1. <A
HREF="x931.html#AEN1003"
>procfs.c</A
></DT
><DT
>9-1. <A
HREF="x1008.html#AEN1106"
>sleep.c</A
></DT
><DT
>10-1. <A
HREF="x1111.html#AEN1140"
>print_string.c</A
></DT
><DT
>11-1. <A
HREF="x1145.html#AEN1201"
>sched.c</A
></DT
><DT
>12-1. <A
HREF="x1206.html#AEN1286"
>intrpt.c</A
></DT
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> </TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> </TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="f23.html"
ACCESSKEY="N"
>继续</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> </TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> </TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>序言</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -