1. virtual char dev driver
通过编写device driver,传递参数。 传递参数较少, ioctrl 只能传递一个参数进去。 可以通过module load 进内核。
2. system call interface
通过扩展系统调用; 缺点是,需要重新编译内核,不具备可移植性,需要分配系统占用号。
3. netlink
这个比较方便传递多个值,不过我还不是很懂。
4. seq_file
可以设置 多个值,
5. procfs
可以设置 多个值,
6. sysfs
可以设置 多个值,
7.debugfs
可以设置 多个值,
8.relayfs
可以设置 多个值,
3~8 算是同一类的操作方式.
9. init param
通过初始化参数,传递配置信息。
10. module param
模块的初始化信息,在insert module时,带入。
本文介绍了多种在Linux内核中实现用户空间与内核空间交互的方法,包括虚拟字符设备驱动、系统调用接口、Netlink等,并探讨了每种方法的特点及适用场景。
2909

被折叠的 条评论
为什么被折叠?



