Quel est le statut de POSIX asynchronous I/O (AIO)?

Il y a des pages dispersée à travers le web qui décrivent POSIX AIO installations dans des quantités variables de détail. Aucun d'entre eux sont terriblement récente. Il n'est pas clair ce qui, exactement, ils les décrivent. Par exemple, le "officielle" (?) site web pour le noyau Linux asynchronous I/O support ici dit que les sockets ne fonctionnent pas, mais le "aio.h" les pages de manuel sur mon Ubuntu 8.04.1 poste de travail tous semblent indiquer qu'il fonctionne pour arbitraire des descripteurs de fichiers. Ensuite, il y a un autre projet qui semble fonctionner à la bibliothèque de la couche avec encore moins de la documentation.

Je voudrais savoir:

  • Quel est le but de POSIX AIO? Étant donné que l'exemple le plus évident de la mise en œuvre, je peux trouver, dit-il ne supporte pas les sockets, tout cela semble bizarre pour moi. Est-il juste pour async disk I/O? Si oui, pourquoi l'hyper-général de l'API? Si non, pourquoi est-disk I/O, la première chose qui les a attaqués?
  • Où sont il par exemple complète POSIX AIO programmes que je peux regarder?
  • Personne ne l'utilisent vraiment, pour de vrai?
  • Ce que les plates-formes de soutien POSIX AIO? Quelles parties prennent-ils en charge? Peut-on vraiment soutenir l'implicite "I/O pour tout FD" que <aio.h> semble promettre?

Les autres mécanismes de multiplexage qui s'offrent à moi sont très bonnes, mais l'aléatoire des fragments d'information flottant autour de là-bas ont m'a rendu curieux.

InformationsquelleAutor Glyph | 2008-09-17