# Главная
# О библиотеке
# Выбор дистрибутива
преимущества Linux/UNIX
|
основные дистрибутивы
|
серверный Linux
|
BSD
|
LiveCDs
|
прочее
# Установка и удаление программ
общие вопросы
|
каталоги софта
|
специальные случаи
# Настройка и работа
установка, загрузчики
|
настройка Linux
|
консоль
|
файловые системы
|
процессы
|
шеллы, русификация, коммандеры
|
виртуальные машины, эмуляторы
# X Window и оконные менеджеры
настройка X Window
|
GNOME
|
KDE
|
IceWM и др.
# Работа с текстами
редакторы
|
офис
|
шрифты, кодировки и русификация
|
преобразования текстовых файлов
|
LaTeX, SGML и др.
|
словари
# Графика
GIMP
|
фото
|
обработка изображений
|
форматы графических файлов
# Сети, администрирование
общие вопросы
|
Dialup & PPP
|
брандмауэры
|
маршрутизация
|
работа в Windows-сетях
|
веб-серверы
|
Apache
|
прокси-серверы
|
сетевая печать
|
прочее
# Программирование
GCC & GNU make
|
программирование в UNIX
|
графические библиотеки
|
Tcl
|
Perl
|
PHP
|
Java & C#
|
СУБД
|
CVS
|
прочее
# Ядро
# Мультимедиа
# Интернет
# Почта
# Безопасность
# Железо
# Разное
# Linux HowTo (как сделать)
# Книги и руководства
# Материалы на английском языке
The Linux Kernel Module Programming Guide
Peter Jay Salzman
Ori Pomerantz
Copyright
© 2001 Peter Jay Salzman
2003-04-04 ver 2.4.0
Table of Contents
Foreword
1.
Acknowledgements
2.
Nota Bene
1.
Introduction
1.1.
What Is A Kernel Module?
1.2.
How Do Modules Get Into The Kernel?
2.
Hello World
2.1.
Hello, World (part 1): The Simplest Module
2.2.
Compiling Kernel Modules
2.3.
Hello World (part 2)
2.4.
Hello World (part 3): The
__init
and
__exit
Macros
2.5.
Hello World (part 4): Licensing and Module Documentation
2.6.
Passing Command Line Arguments to a Module
2.7.
Modules Spanning Multiple Files
3.
Preliminaries
3.1.
Modules vs Programs
4.
Character Device Files
4.1.
Character Device Drivers
5.
The /proc File System
5.1.
The /proc File System
6.
Using /proc For Input
6.1.
Using /proc For Input
7.
Talking To Device Files
7.1.
Talking to Device Files (writes and IOCTLs)}
8.
System Calls
8.1.
System Calls
9.
Blocking Processes
9.1.
Blocking Processes
10.
Replacing Printks
10.1.
Replacing
printk
11.
Scheduling Tasks
11.1.
Scheduling Tasks
12.
Interrupt Handlers
12.1.
Interrupt Handlers
13.
Symmetric Multi Processing
13.1.
Symmetrical Multi-Processing
14.
Common Pitfalls
14.1.
Common Pitfalls
A.
Changes: 2.0 To 2.2
A.1.
Changes between 2.0 and 2.2
B.
Where To Go From Here
B.1.
Where From Here?
Index
List of Examples
2-1.
hello-1.c
2-2.
Makefile for a basic kernel module
2-3.
hello-2.c
2-4.
Makefile for both our modules
2-5.
hello-3.c
2-6.
hello-4.c
2-7.
hello-5.c
2-8.
start.c
2-9.
stop.c
2-10.
Makefile for a multi-filed module
4-1.
chardev.c
4-2.
some title
5-1.
procfs.c
6-1.
procfs.c
7-1.
chardev.c
7-2.
chardev.h
7-3.
ioctl.c
8-1.
procfs.c
9-1.
sleep.c
10-1.
print_string.c
11-1.
sched.c
12-1.
intrpt.c
Next
Foreword