Aller au contenu

Contre-pression

Contre-pression (en anglais backpressure) : propriété d'un canal de communication à capacité limitée, qui ralentit le producteur au rythme du consommateur. Un tube Linux a un tampon de 64 Kio par défaut : quand il est plein, l'appel write de l'écrivain bloque jusqu'à ce que le lecteur ait consommé des données ; quand il est vide, c'est le lecteur qui attend.

C'est ce qui permet à une chaîne de filtres de traiter un fichier bien plus gros que la mémoire : un filtre rapide suivi d'un filtre lent ne s'emballe pas, il patiente. Le même principe se retrouve dans les files de messages et les protocoles réseau (fenêtre de TCP) ; il disparaît dès qu'un élément accumule tout en mémoire, comme sort ou jq -s.

Dans les cours

Voir aussi