linux – 在内核和用户空间之间进行通信的理想和最快方式是什么
发布时间:2020-12-13 18:51:11 所属栏目:Linux 来源:网络整理
导读:我知道通过内核和用户空间程序之间的以下接口可以实现信息交换 系统调用 ioctls / proc / SYS netlink 我想知道 如果我错过了任何其他界面? 哪一种是交换大量数据的最快方式? (如果有任何文件/邮件/解释支持我可以参考的这种说法) 推荐的沟通方式是哪一种
我知道通过内核和用户空间程序之间的以下接口可以实现信息交换
>系统调用 我想知道 >如果我错过了任何其他界面? 解决方法
交换大量数据的最快方法是内存映射.可以在设备文件上使用mmap调用,然后相应的内核驱动程序可以决定将内核内存映射到用户地址空间.一个很好的例子是Video For
Linux驱动程序,我想帧缓冲驱动程序的工作方式相同.有关V4L2驱动程序如何工作的详细说明,您有:
> The lwn.net article about streaming I/O 你不能为大量数据打败内存映射,因为没有像操作所涉及的memcopy,物理底层内存在内核和用户空间之间有效共享.当然,就像在所有共享内存机制中一样,您必须提供一些同步,以便内核和用户空间不会认为它们同时具有所有权. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读