POSIX异步I / O(AIO)的状态是什么? - What is the status of POSIX asynchronous I/O (AIO)?

问题:

There are pages scattered around the web that describe POSIX AIO facilities in varying amounts of detail. 网页上散布着各种描述POSIX AIO设施的页面,其中包含不同的细节。 None of them are terribly recent. 它们都不是最近的。 It's not clear what, exactly, they're describing. 目前还不清楚他们究竟在描述什么。 For example, the "official" (?) web site for Linux kernel asynchronous I/O support here says that sockets don't work, but the "aio.h" manual pages on my Ubuntu 8.04.1 workstation all seem to imply that it works for arbitrary file descriptors. 例如, Linux内核异步I / O支持的“官方”(?) 网站说套接字不起作用,但我的Ubuntu 8.04.1工作站上的“aio.h”手册页似乎都暗示它适用于任意文件描述符。 Then there's another project that seems to work at the library layer with even less documentation. 然后还有另一个项目似乎在图书馆层工作,文档更少。

I'd like to know: 我想知道:

  • What is the purpose of POSIX AIO? POSIX AIO的目的是什么? Given that the most obvious example of an implementation I can find says it doesn't support sockets, the whole thing seems weird to me. 鉴于我能找到的最明显的实现示例说它不支持套接字,整个事情对我来说似乎很奇怪。 Is it just for async disk I/O? 它只适用于异步磁盘I / O吗? If so, why the hyper-general API? 如果是这样,为什么超通用API? If not, why is disk I/O the first thing that got attacked? 如果没有,为什么磁盘I / O首先遭到攻击?
  • Where are there example complete POSIX AIO programs that I can look at? 哪些示例完整的 POSIX AIO程序我可以看一下?
  • Does anyone actually use it, for real? 有没有人真正使用它,真的吗?
  • What platforms support POSIX AIO? 哪些平台支持POSIX AIO? What parts of it do they support? 他们支持哪些部分? Does anyone really support the implied "Any I/O to any FD" that <aio.h> seems to promise? 有没有人真的支持<aio.h>似乎承诺暗示的“对任何FD的任何I / O”?

The other multiplexing mechanisms available to me are perfectly good, but the random fragments of information floating around out there have made me curious. 我可以使用的其他多路复用机制非常好,但随处可见的信息碎片让我很好奇。


解决方案:

参考: https://stackoom.com/en/question/Mrc
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章