gpt4 book ai didi

Linux 驱动程序和 Sysfs

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:17 24 4
gpt4 key购买 nike

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

  1. sysfs 是否“应该”是只读的,其中公开了各种内核参数以供读取?或者它们也“应该”是可写的?

  2. 将来是否所有驱动程序都需要在 sysfs 中公开接口(interface)?

  3. 如果上述答案属实,那么我们是否真的需要 IOCTL 调用?因为要使驱动程序做某事,我们需要做的就是更改 sysfs 中某些文件的值,例如,要在驱动程序 D1 上调用一个名为 DO_SOMETHING 的 ioctl,我们会这样做:

    echo 1> /sysfs/D1/IOCTLS/DO_SOMETHING  ( or something like that ... :) )   
  4. 是否有将内核 API(即系统调用和 libc)公开为 sysfs 文件的任何计划,例如,

    echo 1> /sysfs/libc/get_system_time 
    cat /sysfs/libc/results/system_time

    这样做是个好主意吗?

  5. Windows 有类似 sysfs 的系统吗?或者可能有任何正在进行的项目?

  6. 如何通过 http 公开核心系统调用、libc 和任何新库? (只是想就这个想法进行坦率的讨论)

最佳答案

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

关于Linux 驱动程序和 Sysfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27806554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com