内核旁路、共享内存的零拷贝问题

实习时,测试万兆网卡在使用onload和tcpdirect加速时用到了内存旁路技术,学习一下。下面是一个问题https://stackoverflow.com/questions/18343365/zero-copy-networking-vs-kernel-bypass

总结一下:

1、使用内核旁路技术可以实现零拷贝,共享内存也可以实现零拷贝。所谓零拷贝是对于内核来说的,不会有内核读取的操作。

2、共享内存一般对于两个进程来说,内核旁路是在用户态层面,实现硬件(比如网卡)和应用的直接数据传输。

引申:

  内核旁路是阻塞还是非阻塞?异步还是同步?或者有没有这两个概念。注意!内核旁路是一种用户态网络协议栈!

  https://blog.csdn.net/u011408355/article/details/45868165

  https://www.cnblogs.com/passion-hzhang/p/6105829.html

  同步IO和异步IO的区别就在于:数据拷贝的时候进程是否阻塞!

  阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回!

posted @ 2018-06-29 15:10  秋雨声  阅读(890)  评论(0编辑  收藏  举报