什么是Unix / Linux等效的注册I / O?

时间:2015-05-28 01:37:44

标签: linux unix network-programming winsock

Windows 8和Server 2012 sport RIO,它允许您预先注册I / O缓冲区一次,然后重复使用相同的缓冲区,避免每个I / O操作的其他(显然)必要缓冲区检查。

RIO还允许轮询等完成操作完全在用户模式下完成,而无需进行系统调用。

(如何)使用Linux / Unix可以实现这一点?

2 个答案:

答案 0 :(得分:1)

似乎netmap是 - 和more

  

在构建netmap时,我们确定并成功减少了或   删除了三个主要的数据包处理成本:

     
      
  1. 每个数据包的动态内存分配,由预分配资源
  2. 删除   
  3. 系统调用开销,按大批量摊销
  4.   
  5. 和内存副本,通过在内核和用户空间之间共享缓冲区和元数据来消除,同时仍然保护对设备的访问   寄存器和其他内核存储区
  6.   

所以也许问题 - 所有这些功能的最终目标是性能 - 应该是:Is performance comparable to that of Linux achievable in Windows?

答案 1 :(得分:1)

从Linux Kernel 5.1开始,io_uring终于有了适当的支持。