我最近正在深入研究linux io模型,我经常听说像Windows IOCP一样,linux有自己的aio模型实现:Glibc aio和内核aio。
问题:
(1)当人们说“linux native aio”时,会指出哪种型号?
(2)我听到了两个不同的术语,“linux aio”和“linux native aio”。它们是相同的,还是表示不同的实现?
答案 0 :(得分:3)
Linux原生AIO 是内核AIO 。接口是io_setup(2), io_submit(2), io_getevents(2),
和其他一些调用。
当人们谈论" linux AIO"时,他们可能意味着" Linux本地AIO" - 虽然谁知道。毕竟这是互联网。
Posix AIO完全不同。它是在用户空间中使用线程实现的。请参阅Difference between POSIX AIO and libaio on Linux?的最佳答案,以获得对Posix AIO和Linux内核AIO之间差异的良好,经过深思熟虑的描述。