4

I'm recently digging into linux io model, and I frequently hear that like windows IOCP, linux has its own aio model implementation: Glibc aio and kernel aio.

Question:

(1) when people say "linux native aio", which model is indicated?

(2) I hear 2 different terms, "linux aio" and "linux native aio". Are they the same thing, or indicating different implementations?

Troskyvs
  • 7,537
  • 7
  • 47
  • 115

1 Answers1

4

Linux native AIO is kernel AIO. The interfaces are io_setup(2), io_submit(2), io_getevents(2), and a handful of other calls.

When people are talking about "linux AIO", they probably mean "Linux native AIO" - though who knows. This is the Internet, after all.

Posix AIO is something altogether different. It's implemented with threading in user-space. See the top answer to Difference between POSIX AIO and libaio on Linux? for a good, well vetted description of the differences between Posix AIO and Linux kernel AIO.

Community
  • 1
  • 1
Mike Andrews
  • 3,045
  • 18
  • 28