首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【udev用户空间设备管理】sysfs文件系统与Linux设备模型

    其实,sysfs和它背后的Linux 设备模型,是 Linux 管理硬件的 “核心大脑”—— 设备模型是 “硬件家谱”,把电脑里的 CPU、USB、硬盘按规则排好序;sysfs 是 “家谱的纸质版”,把这个家谱变成文件系统...三、sysfs:把 “硬件家谱” 变成 “文件系统” 设备模型是内核里的 “抽象结构”,普通用户和程序没法直接访问 —— 这时候sysfs就登场了。...3.1 sysfs 的目录结构:对应设备模型的层级 sysfs 的目录和设备模型的层级一一对应,最关键的几个目录咱们逐个拆解,结合例子讲清楚: sysfs 目录 对应设备模型层级 作用与例子 /sys/...五、sysfs 的实际应用:不止 “看信息”,还能 “改配置” sysfs 不仅能 “读” 硬件信息,还能 “写” 配置 —— 很多硬件参数可以通过修改 sysfs 的属性文件实时调整,不用重启系统。...六、sysfs 与设备模型的 “核心价值” 为什么说 sysfs 和设备模型是 Linux 硬件管理的 “黄金搭档”?

    12810

    Linux应用开发【第九章】GPIO编程应用开发

    导出引脚编号的实现代码如下所示,具体详见《sysfs_gpio_1_export_gpio sysfs_gpio_export.c》的sysfs_gpio_export()函数。...设置引脚编号的的实现代码如下所示,具体详见《sysfs_gpio_2_export_gpio sysfs_gpio_export.c》的sysfs_gpio_set_dir ()函数。...相关的代码在程序文件《sysfs_gpio_2_export_gpio/sysfs_gpio_export.c》中main函数,下为对应代码部分。...设置引脚输出高低电平的的实现代码如下所示,具体详见《sysfs_gpio_3_export_gpio sysfs_gpio_export.c》的sysfs_gpio_set_value ()函数。...读取引脚输入电平的、的的实现代码如下所示,具体详见《sysfs_gpio_4_export_gpio sysfs_gpio_export.c》的sysfs_gpio_get_value ()函数。

    1.9K30

    Kobject浅析

    既可以将这些设备和驱动组织成树形结构,又可以让用户通过sysfs直接控制驱动和设备。让我们来搭讪一下kobject,从她那儿看看有对象的好处。 我们哲学老师在提问一个学生之前都会先问学生的家乡在哪儿。...sd这个成员的作用和sysfs相关,kobject是组成sysfs树形结构的结点。kref是该结构体的引用计数,实质是一个原子型的整形量。...每一个属性都应该在sysfs中对应一个文件。而sysfs_ops则存放着读写这些文件时的处理。 每一个kobject都可以属于某一个kset,一个kset就是一群kobject的集合。...kobject和sysfs勾搭在一起就给用户层提供了修改设备和驱动参数的一种方式。 以下代码展示了如何利用kobject使用sysfs。...kobj_type test_kobj_type= { .release = test_release, .sysfs_ops = &test_sysfs_ops, .default_attrs

    1.6K102

    实例演绎UnixLinux的一切皆文件思想

    实现UDP socket文件机制 UDP socket文件就是基于这种sysfs实现的,我称它UDP socket sysfs。...本文不是讲sysfs原理的,这方面的资源已经很多了,我就不再赘述。这里仅仅提sysfs的最基本特征: 每一个可以表示为文件的对象Obj都是sysfs中的一个目录。...[root@localhost sysfs_test]# 创建一个UDP socket sysfs实例相当于在kobject_udp创建了一个目录instance_0,该UDP socket sysfs...和socket接口的两点最大不同,socket sysfs文件有以下性质: socket用sysfs的一个目录表示 即socket sysfs文件作为一个对象在sysfs是一个目录,该目录下两个属性文件用于实际操作...… UDP socket sysfs文件实现后,TCP呢?我们需要实现一个TCP的socket sysfs文件机制,从而可以用shell脚本粘合独立的小程序实现复杂的TCP客户端和TCP服务器。

    2.7K30

    腾讯自研交换机标准化之路:S³IP实践

    1.1 痛点1 没有统一的硬件驱动接口规范(sysfs)     Sysfs是应用访问硬件信息的入口,在S³IP sysfs规范制定之前,白盒交换机用户都有自己的sysfs标准,但是这些标准并不统一。...规范包括: 《S3IP Sysfs规范》:规范了平台硬件管理接口。sysfs规范目的是,构建统一的硬件抽象层(对上统一硬件服务),屏蔽不同硬件平台的差异,确保硬件监控应用和驱动的可移植性。...腾讯实践S³IP规范 2.1 S³IP sysfs规范落地效果     截至2022年9月,符合S³IP Sysfs规范的自研交换机已在腾讯DCN、DCI、可编程网关等场景规模化部署。...下图为不同厂商适配S³IP sysfs后的效果。 图5 设备适配S³IP sysfs规范的效果     适配S³IP sysfs规范后,硬件数据有格式化的目录结构,非常便于导入数据库并进行深度处理。...腾讯为了加速S³IP sysfs规范落地,开发了S³IP sysfs框架,并向S³IP联盟成员开源,同时我们也积极将S³IP成果反馈到SONiC社区,丰富SONiC社区功能,促进白盒交换机行业发展,实现共赢

    3K20

    Linux内核调试之使用模块参数

    name :表示模块参数名 (模块中定义和sysfs中显示的都是这个名字) type:表示数据类型,如uint表示unsigned int perm:sysfs文件中参数文件的访问权限 (一般8进制表示...* @arg: args for @ops * @perm: visibility in sysfs....name :表示模块参数名 (模块中定义和sysfs中显示的都是这个名字) ops:参数的 set&get 操作集 arg:用于操作集的参数 perm:sysfs文件中参数文件的权限 (一般8进制表示...name:表示参数的别名/重命名,会在sysfs中显示 value:表示参数名,在模块中定义的变量名 type:表示数据类型 perm:sysfs文件中参数文件的权限 例如: /* bool eg...而对于用户态,是通过sysfs来读取它的。

    87910
    领券