The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

Краткая справка

Краткая справка

Предыдущая  Содержание  Следующая V*D*V

Этот раздел суммирует функции ядра, переменные, макросы и /proc файлы, которых мы коснулись в этой главе. Он предназначен выступать как справочная информация. Каждый объект указывается после соответствующего заголовочного файла, если он необходим. Аналогичный раздел появляется в конце почти каждой главы, начиная с этой, суммируя новые обозначения, включённые в эту главу. Записи в этом разделе будет появляться в том же порядке, в котором они были введены в разделе:

 

insmod

modprobe

rmmod

Утилиты пространства пользователя для загрузки модулей в работающее ядро и удаления их.

 

#include <linux/init.h>

module_init(init_function);

module_exit(cleanup_function);

Макросы, которыми помечают функции модуля инициализации и очистки.

 

__init

__initdata

__exit

__exitdata

Маркеры для функций (__init и __exit) и данных (__initdata и __exitdata), которые используются только при инициализации модуля или во время очистки. Объекты, отмеченные для инициализации, могут быть отброшены после завершения инициализации; объекты выхода могут быть отброшены, если выгрузка модулей не была сконфигурирована в ядре. Эти маркеры работают, вызывая соответствующие объекты, находящиеся в специальной секции ELF исполняемого файла.

 

#include <linux/sched.h>

Один из наиболее важных заголовочных файлов. Этот файл содержит определения многих API ядра, используемых драйвером, в том числе функции для бездействия (sleeping) и декларацию числовых переменных.

struct task_struct *current;

Указатель на текущий процесс.

current->pid

current->comm

ID процесса и имя команды для текущего процесса.

obj-m

Символ в Makefile, используемый системой сборки ядра, чтобы определить, какие модули должны быть построены в текущем каталоге.

 

/sys/module

/proc/modules

/sys/module является иерархией каталогов sysfs, содержащих информацию о загруженных в данный момент модулях. /proc/modules является старейшей однофайловой версией этой информации. Записи содержат имя модуля, объём занимаемой каждым модулем памяти и счётчик использования. Чтобы указать флаги, которые в настоящее время активны для модуля, к каждой записи добавляются дополнительные строки.

vermagic.o

Объектный файл из каталога исходных текстов ядра, который описывает окружающую среду, для которой был построен модуль.

 

#include <linux/module.h>

Обязательный заголовок. Он должен быть подключен в исходник модуля.

 

#include <linux/version.h>

Заголовочный файл, содержащий информацию о версии ядра, для которого будет собираться модуль.

LINUX_VERSION_CODE

Целочисленный макрос, полезный для построения зависимостей от версии через #ifdef.

EXPORT_SYMBOL (symbol);

EXPORT_SYMBOL_GPL (symbol);

Макросы, используемые для экспорта символа в ядро. Первая форма экспортирует без использования информации о версиях, а вторая ограничивает этот экспорт только областью GPL-лицензированных модулей.

MODULE_AUTHOR(author);

MODULE_DESCRIPTION(description);

MODULE_VERSION(version_string);

MODULE_DEVICE_TABLE(table_info);

MODULE_ALIAS(alternate_name);

Размещение документации о модуле в объектном файле.

MODULE_LICENSE(license);

Объявляет лицензию, контролирующую данный модуль.

 

#include <linux/moduleparam.h>

module_param(variable, type, nump, perm);

Макрос, который создаёт параметр модуля, который может быть изменён пользователем, когда модуль загружается (или во время запуска для встроенного кода). Тип может быть одним из: bool, charp, int, invbool, long, short, ushort, uint, ulong или intarray.

 

#include <linux/kernel.h>

int printk(const char * fmt, ...);

Аналог printf для кода ядра.

 

Предыдущая  Содержание  Следующая