2017-02-04 5 views
1

Je suis récemment en train de creuser dans le modèle linux io, et j'entends souvent que comme les fenêtres IOCP, linux a sa propre implémentation de modèle aio: Glibc aio et kernel aio."Linux aio" et "Linux native aio" sont la même chose?

Question:

(1) quand les gens disent "AIO natif linux", le modèle est indiqué? (2) J'entends 2 termes différents, "linux aio" et "linux native aio". Sont-ils la même chose, ou indiquant des implémentations différentes?

Répondre

2

Linux natif AIO est noyau AIO. Les interfaces sont io_setup(2), io_submit(2), io_getevents(2), et une poignée d'autres appels.

Lorsque les gens parlent de "Linux AIO", ils signifient probablement "Linux natif AIO" - mais qui sait. C'est l'Internet, après tout.

Posix AIO est quelque chose de tout à fait différent. Il est implémenté avec un thread dans l'espace utilisateur. Voir la première réponse à Difference between POSIX AIO and libaio on Linux? pour une bonne description bien expliquée des différences entre Posix AIO et le noyau Linux AIO.