+ -
当前位置:首页 → 问答吧 → 当需要在内核和用户态传递数据时改用ioctl呢还是netlink?

当需要在内核和用户态传递数据时改用ioctl呢还是netlink?

时间:2010-07-20

来源:互联网

对于字符设备、块设备、网络设备模块,其都提供了ioctl函数,所以通过ioctl在内核和用户通信肯定没问题。
netlink在字符设备、块设备、网络设备模块中也可以作为用户态和内核通信的手段,而且即使不是上述三种模块,任何其他的内核模块都可以通过netlink通信。
而且ioctl在进程上下文中执行而netlink在软中断上下文中执行。
但是我想问一下2者还有什么区别,例如当既可以用ioctl又可以通过netlink通信时,该选择哪种比较好呢,以前好像听说如果传递的数据量比较大比如大于1k时优先选择用netlink,不知这种说法对不对,为什么。
请高手指点一下。

作者: linuxer_lhw   发布时间: 2010-07-20

一般都用ioctl,这样比较灵活

作者: linux初学三月   发布时间: 2010-07-20

热门下载

更多