Где я могу получить API для ядра Linux, который позволит мне получить доступ к информации в ядре - PullRequest
0 голосов
/ 27 октября 2010

Я новичок в Linux, после реализации простого системного вызова в ядре Linux, который печатает в системный журнал через printk,

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

(Понятия не имею, как я нашел принтку, и понятия не имею, где можно получить дополнительную информацию о принтке)

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

Ответы [ 2 ]

1 голос
/ 27 октября 2010

Это должно послужить хорошей отправной точкой для изучения системных вызовов ядра. Эта таблица также содержит пример кода C.

Скачать здесь (pdf)

0 голосов
/ 27 октября 2010

Проверьте / proc и / sys в вашей файловой системе; между ними вы сможете найти все, что вам нужно, без системных вызовов.

Например:

  • Какова скорость моего процессора? Чек /proc/cpuinfo
  • Сколько у меня оперативной памяти? Чек /proc/meminfo
  • Какой размер /dev/sda? Чек /sys/block/sda/size

Некоторые вещи я не знаю, как проверить (например, две вещи, о которых вы спрашивали), но вы можете найти их, немного покопавшись.

Если вам действительно любопытно, как все работает, проверьте источник драйверов для интересующих вас устройств; они предоставляют эти записи файловой системы, поэтому они (надеюсь) должны документировать, что находится в каждой.

...