获取内核信息

1.系统请求键

 

2.通过/proc接口

proc文件系统是一种伪文件系统。实际上,它并占用存储空间,而是系统运行时在内存中建立的内核状态映射。可以瞬时地提供系统的状态信息。

 

在用户空间可以作为文件系统挂接到/proc目录下,提供给用户访问。可以通过Shel命令挂接。

 

 

3.通过/sys接口

sysfs文件系统是2.6内核新增加的文件系统。它也是一种伪文件系统,是在内存中实现的文件系统。它可以把内核空间的数据、属性、链接等东西输出到用户空间。

在2.6内核中,sysfs和kobject是紧密结合的,成为驱动程序模型的组成部分。

当加载或卸载kobject的时候。需要注册或者注销操作。当注册kobject时,注册函数除了把kobject插入到kset链表中,还要在sysfs中创建对应的目录。反过来,当注销kobject时,注销函数也会删除sysfs中相应的目录。

 

sysfs的编程接口

第一个方面是属性。属性能够以文件系统的正常文件形式输出到用户空间。Sysfs文件系统间接调用属性定义的函数操作,提供读写内核属性的方法。

简单的属性定义示例:

 

 

第2个方面是子系统操作函数。当子系统定义了一个属性类型时,必须实现一些sysfs操作函数。当应用程序调用read/write函数时,通过这些子系统函数显示或者保存属性值。

 

当读写这个sysfs时,sys调用对应的函数。然后,把通用的kobject结构体和结构体属性指针转换成适当的指针类型,并且调用相关的函数。

 

4.通过ioctl方法

在内核空间,ioctl驱动程序原型如下:

int (*ioctl)(struct inode *inode, struct file *flip, unsigned int cmd, unsigned long arg);

 

用户空间可以使用ioctl系统调用

int ioctl(int fd, unsigned long cmd, ...);

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值