Linux 内核 sysclass类

Linux 内核 sysclass类,第1张

概述我们在本章中要考察最后的设备模型概念是类.一个类是一个设备的高级视图, 它抽象出 低级的实现细节. 驱动可以见到一个 SCSI 磁盘或者一个 ATA 磁盘, 在类的级别, 它们都 是磁盘. 类允许用户空间基于它们做什么来使用设备, 而不是它们如何被连接或者它们如 何工作.   几乎所有的类都在 sysfs 中在 /sys/class 下出现. 因此, 例如, 所有的网络接口可在 /sys/clas

我们在本章中要考察最后的设备模型概念是类.一个类是一个设备的高级视图,它抽象出 低级的实现细节. 驱动可以见到一个 SCSI 磁盘或者一个 ATA 磁盘,在类的级别,它们都 是磁盘. 类允许用户空间基于它们做什么来使用设备,而不是它们如何被连接或者它们如 何工作.

 

几乎所有的类都在 sysfs 中在 /sys/class 下出现. 因此,例如,所有的网络接口可在

/sys/class/net 下发现,不管接口类型. 输入设备可在 /sys/class/input 下,以及串 行设备在 /sys/class/tty. 一个例外是块设备,由于历史的原因在 /sys/block.

 

类成员关系常常由高级的代码处理,不必要驱动的明确的支持. 当 sbull 驱动( 见 16 章) 创建一个虚拟磁盘设备,它自动出现在 /sys/block. snull 网络驱动(见 17 章)没 有做任何特殊事情给它的接口在 /sys/class/net 中出现. 将有多次,但是,当驱动结束 直接处理类.

 

在许多情况,类子系统是最好的输出信息到用户空间的方法. 当一个子系统创建一个类,它完全拥有这个类,因此没有必要担心哪个模块拥有那里发现的属性. 它也用极少的时间 徘徊于更加面向硬件的 sysfs 部分来了解,它不是一个直接浏览的好地方. 用户会更加 高兴地在 /sys/class/some-Widget 中发现信息,而不是,

/sys/device/pci0000:00/0000:00:10.0/usb2/2-0:1.0.

 

驱动核心输出 2 个清晰的接口来管理类. class_simple 函数设计来尽可能容易地添加新 类到系统. 它们的主要目的,常常,是暴露包含设备号的属性来使能设备节点的自动创建. 常用的类接口更加复杂但是同时提供更多特性. 我们从简单版本开始.

总结

以上是内存溢出为你收集整理的Linux 内核 /sys/class类全部内容,希望文章能够帮你解决Linux 内核 /sys/class类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1017302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存