最近我在不同的论坛上看到了这个。据我通过阅读一些论坛讨论可以看出,这与输入和输出有关。io_uring 到底是什么?
问问题
4086 次
1 回答
17
io_uring
是一个(2019 年年中新增的)Linux 内核接口,可有效地让您异步发送和接收数据。它最初是为块设备和文件而设计的,但后来获得了使用网络套接字之类的东西的能力。
与类似的东西不同epoll()
,它是围绕完成模型而不是准备模型构建的。这是可取的,因为其他操作系统已经成功使用完成模型一段时间了。io_uring
为 Linux 提供了一些有竞争力和完整的东西,而没有以前的 Linux AIO 接口所具有的缺点。
的作者编写了一个名为Efficient IO with io_uringio_uring
的 PDF 文档,以技术方式讨论了它的用法。io_uring指南之主提供了较为温和的介绍。您可以阅读 ScyllaDB 开发人员 Glauber Costa 在io_uring 和 eBPF 如何革新 Linux 编程中对其进行宣传。最后,LWN.net 已经写过很多次了。io_uring
(无耻的插件:我在“Linux 上真的没有异步块 I/O 吗?”问题上写了一个更链接的答案)
于 2020-05-14T20:30:07.957 回答