枫露清愁 发表于 2014-09-15 10:01

关于各种通信方式效率:ioctl、mmap等

关于应用层和内核通信,以前用的是系统调用(ioctl居多),现在用的是mmap,但经常看到说ioctl用来传递数据效率不高,mmap会比较高,至于为什么ioctl效率不高就不清楚了,请大神们解释一下!

Tinnal 发表于 2014-09-15 12:50

因为每次服务都要一次系统调用呀。
mmap在初始华完后就不用系统调用了。

枫露清愁 发表于 2014-09-15 16:46

回复 2# Tinnal
仁兄,又见你了,活雷锋啊……系统调用之所以效率低下,是不是因为在用户态和内核态之间切换会浪费许多不必要的时间?

   

Tinnal 发表于 2014-09-15 22:53

活雷锋, 晕,看来我又得潜水一段时间了{:3_186:}
是的,除系统调用开销外,还有copy_from_user的开销。而且进入内核核还很容易引起调度。

枫露清愁 发表于 2014-09-16 09:01

回复 4# Tinnal
好人好报的……有的好像还会引起睡眠

   
页: [1]
查看完整版本: 关于各种通信方式效率:ioctl、mmap等