Эта книга распространяется в надежде на то, что она будет вам полезна, но без каких-либо гарантий, в том числе и без подразумеваемых гарантий высокого спроса или пригодности для специфических целей



страница1/18
Дата21.11.2016
Размер1.25 Mb.
Просмотров4130
Скачиваний0
  1   2   3   4   5   6   7   8   9   ...   18

The Linux Kernel Module Programming Guide

Авторы: Peter Jay Salzman, Michael Burian, Ori Pomerantz


Copyright 2001, Peter Jay Salzman.

2004-05-16 ver 2.6.0

Перевод: Андрей Киселёв (kis_an [at] linuxgazette [dot] ru)

Оригинальная версия была опубликована на сайте проекта The Linux Documentation Project.

Данная книга распространяется на условиях Open Software License, version 1.1. Полный текст лицензии вы сможете найти по адресуhttp://opensource.org/licenses/osl.php .

Эта книга распространяется в надежде на то, что она будет вам полезна, но без каких-либо гарантий, в том числе и без подразумеваемых гарантий высокого спроса или пригодности для специфических целей.

Авторы приветствуют широкое распространение этой книги как для персонального, так и для коммерческого пользования, при условии соблюдения вышеупомянутого примечания относительно авторских прав, а так же при условии, что распространитель твердо придерживается условий Open Software License. Вы можете копировать и распространять эту книгу как бесплатно, так и с целью получения прибыли. От авторов не требуется никакого явного разрешения для воспроизводства этой книги на любом носителе, будь то твердая копия или электронная.

Производные работы и переводы этого документа должны размещаться на условиях Open Software License, а первоначальное примечание об авторских правах должно остаться нетронутым. Если вы добавили новый материал в эту книгу, то вам следует сделать его общедоступным. Пожалуйста извещайте руководителя проекта (Peter Jay Salzman <p@dirac.org>) о внесенных изменениях и дополнениях. Он объединит модификации и обеспечит непротиворечивость изменений документа.

Если Вы планируете издавать и распространять эту книгу на коммерческой основе, пожертвования, лицензионные отчисления и/или печатные копии будут высоко оценены автором и The Linux Documentation Project. Таким образом вы окажете поддержку свободному программному обеспечению и LDP. Если у вас появятся вопросы или предложения, пожалуйста пишите руководителю проекта по адресу, указанному выше.

Содержание

Предисловие

1. Об авторах

2. Нумерация версий и дополнительные примечания

3. Благодарности

1. Введение.

1.1. Что такое "Модуль Ядра"?

1.2. Как модули попадают в ядро?

1.2.1. Прежде, чем продолжить

2. Hello World

2.1. "Hello, World" (часть 1): Простейший модуль ядра.

2.1.1. Знакомство с printk()

2.2. Сборка модулей ядра

2.3. Hello World (часть 2)

2.4. Hello World (часть 3): Макроопределения __init и __exit

2.5. Hello World (часть 4): Вопросы лицензирования и документирования модулей

2.6. Передача модулю параметров командной строки

2.7. Модули, состоящие из нескольких файлов

2.8. Сборка модулей под существующее ядро

3. Дополнительные сведения

3.1. Модули ядра и прикладные программы

3.2. Функции, которые доступны из модулей

3.3. Пространство пользователя и пространство ядра

3.4. Пространство имен

3.5. Адресное пространство

3.6. Драйверы устройств

3.6.1. Старший и младший номер устройства

4. Файлы символьных устройств

4.1. Структура file_operations

4.2. Структура file

4.3. Регистрация устройства

4.4. Отключение устройства

4.5. chardev.c

4.6. Создание модулей для работы с разными версиями ядра

5. Файловая система /proc

5.1. Файловая система /proc: создание файлов, доступных для чтения

5.2. Файловая система /proc: создание файлов, доступных для записи

6. Работа с файлами устройств

7. Системные вызовы

8. Блокировка процессов

9. Замена printk

9.1. Замена printk

9.2. Управление индикаторами на клавиатуре

10. Планирование задач

11. Обработка прерываний

11.1. Обработка прерываний

11.2. Клавиатура на архитектуре Intel

12. Симметричная многопроцессорность

13. Заключение

Перечень примеров

2-1. hello-1.c

2-2. Makefile для модуля ядра

2-3. hello-2.c

2-4. Makefile для сборки обоих модулей

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 для сборки всех модулей

4-1. chardev.c

4-2. Makefile

5-1. procfs.c

5-2. Makefile

5-3. procfs.c

6-1. chardev.c

6-2. chardev.h

6-3. ioctl.c

6-4. Makefile

6-5. build.sh

7-1. syscall.c

7-2. "Заплата" на ядро (export_sys_call_table_patch_for_linux_2.6.x)

7-3. Makefile

7-4. README.txt

8-1. sleep.c

9-1. print_string.c

9-2. kbleds.c

10-1. sched.c

11-1. intrpt.c



Каталог: files
files -> Основная часть 1 История создания школы
files -> Методические рекомендации по проведению Дня Знаний, посвященного Году кино в РФ
files -> Подросток и компьютерные игры
files -> Программа духовно-нравственного развития и воспитания обучающихся на уровне среднего общего образования
files -> Правила закаливания… Выпуск №1. Чтоб улыбка сияла. Мама первый стоматолог
files -> О существовании значения игры преследования
files -> Учебное пособие по нейрохирургии. Часть I. Краткая история нейрохирургии. Черепно-мозговая травма санкт-Петербург 2015


Поделитесь с Вашими друзьями:
  1   2   3   4   5   6   7   8   9   ...   18


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал