所以我一直在阅读linuxapi(syscalls和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和任何新库怎么样?(只是想坦率地讨论一下这个想法)
最佳答案
a)不。b)视情况而定。
我没听说过这样的要求。
您必须提供一个在调用者和内核之间交换的协议。你可以在9号计划中查一下是怎么做的。我们需要ioctl,请在SO answer
你考虑过安全问题吗?我想这将是操作系统中的一个大洞。
据我所知。
不会讨论的。
关于linux - Linux驱动程序和Sysfs,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27806554/