我在哪里获得linux内核的api,它可以让我访问内核中的信息

时间:2010-10-27 19:23:12

标签: linux operating-system linux-kernel kernel

我是Linux新手,在Linux内核上实现一个简单的系统调用,通过printk打印到syslog,

我希望能够扩展这个应用程序,所以我可以获得有关我的笔记本电脑的电池百分比的详细信息或检查计算机中的硬盘驱动器的速度,你们中的任何人都可以帮助我获取有助于我在内核中访问此类信息的代码,

(我不知道我是如何找到printk的,我不知道在哪里可以获得有关printk的更多信息)

如果家伙可以提供一个简单但有用的系统调用,我可以自己实现,这将很棒。

2 个答案:

答案 0 :(得分:1)

这应该是一个很好的起点,让您了解如何对内核进行系统调用。该备忘单还有一个示例C代码。

下载here(pdf)

答案 1 :(得分:0)

检查文件系统上的/ proc和/ sys;在两者之间,您应该能够在没有系统调用的情况下找到所需的一切。

例如:

  • 我的CPU速度是多少?查看/proc/cpuinfo
  • 我有多少内存?查看/proc/meminfo
  • /dev/sda的大小是多少?查看/sys/block/sda/size

有些事情我不确定如何测试(例如,你问过的两件事),但你可以通过一点挖掘找到它们。

如果您真的很好奇它的工作原理,请查看您感兴趣的设备的驱动程序来源;他们提供那些文件系统条目,因此他们应该(希望)记录每个文件系统中的内容。