bounce buffer

Une définition du Jargon Français.

Dr enus.png nom masculin.  [programmation]. Tampon en mémoire utilisé par un programme afin de convoyer des données entre deux sous-ensembles qui ne peuvent accéder simultanément à une zone mémoire.

Bounce signifie «rebond».

Exemple: les circuits électroniques utilisés dans une interface réseau donnée ne peuvent accéder à la mémoire que jusqu'à une certaine adresse, par exemple parce qu'ils expriment les adresses sur 32 bits donc ne perçoivent que les 4 premiers Go de la mémoire. Si la machine gère les adresses sur 64 bits, alors l'interface ne pourra pas directement recopier les données qu'elle reçoit (du réseau) si le programme devant les traiter réside au-delà des 4 premiers Go. En ce cas un bounce buffer, placé dans la zone mémoire accessible par l'interface, accueille temporairement les données qu'elle fournit puis le noyau les recopie à l'emplacement mémoire requis.

C'est un facteur de ralentissement, afin d'améliorer les performances on tentera de s'en affranchir donc d'atteindre au zero-copy. Dans l'exemple retenu on tentera de placer la zone mémoire abritant les données du programme dans les 4 premiers Go, ou on emploiera une interface réseau capable de percevoir une plus grande portion de la mémoire.

Le terme est surtout employé dans le monde Unix, sous Windows il s'agit d'un double buffer.