【发布时间】:2020-10-30 13:54:44
【问题描述】:
我知道内核模块是用来写device drivers的。您可以在 Linux 内核中添加新的system calls,并使用它与其他设备进行通信。
我还读到ioctl是linux中用来实现系统调用的系统调用,默认情况下在内核中是不可用的。
我的问题是,你为什么不直接为你的设备写一个新的kernel module 而不是使用ioctl?为什么ioctl b 在存在内核模块的地方有用?
【问题讨论】:
-
ioctl 用于在特定设备上执行特定于设备的操作。系统调用用于执行与设备无关的全新操作。
标签: linux kernel linux-device-driver kernel-module