【发布时间】:2015-01-06 20:19:22
【问题描述】:
所以我一直在阅读 Linux API(系统调用和 libc)以及设备 ioctls,通过 create(dev_name) 和 ioctl(device_file_handle) 以及 sysfs 文件系统调用 ioctls。所以这是我的问题:
sysfs 是否“假定”为只读的,其中各种内核参数都被公开以供读取?还是它们“应该”也是可写的?
将来是否需要所有驱动程序来公开
sysfs中的接口?-
如果上面的答案是正确的,那么我们真的会不再需要 IOCTL 调用吗?因为要让驱动程序做某事,我们需要做的就是改变 sysfs 中某些文件的值, 例如,要在驱动程序 D1 上调用一个名为 DO_SOMETHING 的 ioctl,我们会这样做:
echo 1> /sysfs/D1/IOCTLS/DO_SOMETHING ( or something like that ... :) ) -
是否有任何计划将内核 API(即 syscalls 和 libc )公开为 sysfs 文件,例如,
echo 1> /sysfs/libc/get_system_time cat /sysfs/libc/results/system_time这样做是个好主意吗?
Windows 中是否有类似 sysfs 的系统?或者任何正在进行的项目?
如何通过 http 公开核心系统调用、libc 和任何新库? (只是想就这个想法进行坦率的讨论)
【问题讨论】:
标签: linux linux-kernel linux-device-driver ioctl sysfs