10

最近我在不同的论坛上看到了这个。据我通过阅读一些论坛讨论可以看出,这与输入和输出有关。io_uring 到底是什么?

4

1 回答 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 回答