首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux驱动程序和Sysfs

Linux驱动程序和Sysfs
EN

Stack Overflow用户
提问于 2015-01-06 20:19:22
回答 3查看 2.1K关注 0票数 1

因此,我一直在阅读Linux (syscalls和libc)以及设备ioctls,通过create(dev_name)ioctl(device_file_handle)以及sysfs文件系统调用ioctls。以下是我的问题:

  1. sysfs是否“应该”是只读的,其中公开了各种内核参数以供读取?或者它们也应该是可写的?
  2. 将来所有驱动程序都需要在sysfs中公开接口吗?
  3. 如果以上的答案是正确的,那麽我们是否真的要求IOCTL再打电话呢?因为要让驱动程序做一些事情,我们所需要做的就是更改sysfs中某些文件中的值,例如,调用一个名为DO_SOMETHING的ioctl (在驱动程序D1上),所以我们将这样做: 回波1> /sysfs/d1/IOCTLS/DO_ that (或类似的. :)
  4. 是否有计划将内核API (即syscalls和libc )公开为sysfs文件,例如, 回显1> /sysfs/libc/get_system_time猫/sysfs/libc/results/system_time这是个好主意吗?
  5. Windows中有类似系统的系统吗?或者正在进行的项目?
  6. 在http上公开核心系统调用、libc和任何新库如何?(只是想坦率地讨论这个想法)
EN

回答 3

Stack Overflow用户

发布于 2015-01-07 21:38:19

  1. ( a)否。( b)视情况而定。
  2. 我没听说过这样的要求。
  3. 您必须提供一个在调用方和内核之间进行交换的协议。您可以检查它是如何在Plan9中完成的。我们将需要IOCTL,在SO answer上阅读更多有关此的信息。
  4. 你考虑过安全问题了吗?我想这将是操作系统上的一个大洞。
  5. 据我所知。
  6. 不会讨论的。
票数 1
EN

Stack Overflow用户

发布于 2017-04-04 17:34:06

1->也不能为写实现sysfs。用户可以像这样使用它。回显“Hello”>/sys/设备/*/sysfs_entry

2 ->不,我认为大多数与平台相关的驱动程序都开放sysfs接口

3 ->对上述问题的回答,编号。我们还需要一点时间。

4 -> --我相信只有包含某些特性的有用API才会被公开为sysfs条目。例如,驱动程序后面的设备有100个寄存器。每个寄存器不作为sysfs条目公开。但是,如果有3-4个涉及这些寄存器的特性,这些特性将作为sysfs条目公开。这些条目不应对错误的数据造成任何错误/恐慌。这是开发者的责任。

5 ->不知道。

6 ->不知道。

票数 1
EN

Stack Overflow用户

发布于 2017-01-23 16:44:46

请查找我对您的问题的在线答复:

1)我们可以通过sysfs执行读写操作,这同样取决于您的需求。

2)我不这么认为,因为sysfs和ioctl都有自己的优点,所以你不能用同样的方法来比较两者。

3)不真实。

4)Sysfs API(显示和存储API)已经暴露在用户空间中。您可以从用户空间调用这些API。

5)可能是这样,但我不确定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27806554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档