Модуль ядра для / proc - PullRequest
2 голосов
/ 05 мая 2010

Как написать модуль ядра, который создает каталог в / proc с именем mymod, а файл с таким именем называется mymodfile. Этот файл должен принимать число в диапазоне от 1 до 3 при записи в него и возвращать следующие сообщения при чтении на основе числа, уже записанного в него:

• 1: текущее системное время (с точностью до микросекунд)
• 2: время работы системы
• 3: Количество процессов, которые в настоящее время находятся в системе

«Выход»

root@Paradise# echo 1 > /proc/mymod/mymodfile
root@Paradise# cat /proc/mymod/mymodfile
08:30:24 342us
root@Paradise# echo 2 > /proc/mymod/mymodfile
root@Paradise# cat /proc/mymod/mymodfile
up 1 day, 8 min 
root@Paradise# echo 3 > /proc/mymod/mymodfile
root@Paradise# cat /proc/mymod/mymodfile
process count: 48 

Пожалуйста, дайте мне подсказку, как написать модули ядра и как скомпилировать и установить его.

Ответы [ 3 ]

6 голосов
/ 05 мая 2010

Что вам нужно, так это Руководство по программированию модуля ядра Linux , в частности, раздел в файловой системе / proc , в котором хорошо документированы примеры добавления новых записей.

1 голос
/ 05 мая 2010

В этом месяце во французском журнале "Gnu / Linux magazine" есть статья об этом.

У меня нет здесь моих закладок, но ссылки на тезисы выглядят нормально:

http://www.linuxhq.com/lkprogram.html

http://tldp.org/HOWTO/Module-HOWTO/x839.html

http://tldp.org/LDP/lkmpg/2.6/html/lkmpg.html

0 голосов
/ 07 мая 2010

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

...