Згладжування нерівномірності швидкостей процесів

Досить часто в роботі ОС зустрічається ситуація, коли один процес породжує дані, які повинні оперативно оброблятися іншим процесом. В якості прикладу можна навести прийом по мережі даних, які повинні оброблятися браузером або інший прикладною програмою.

Швидкість прийому даних дуже нерівномірна: інтервали часу інтенсивного надходження даних перемежовуються з інтервалами простою. Обробка даних прикладною програмою теж не обов'язково йде з постійною швидкістю. В результаті, хоча середня швидкість обробки може бути цілком достатньої, не виключено, що в деякі моменти обробна програма буде «захлинатися» даними. Це може призвести до втрати частини даних, які не встигли пройти обробку.

Стандартним рішенням в цій ситуації є використання буфера, розмір якого досить великий, щоб вмістити всі дані, які очікують обробки. Чим більше буфер, тим менше ймовірність втрати даних через його переповнення.