Розпаралелювання введення та обробки

У багатьох обчислювальних системах є апаратні можливості поєднати в часі виконання операцій введення / виводу і обробку даних процесором. Щоб використовувати ці можливості, дані при введенні направляються в буфер. Після заповнення буфера його дані пересилаються в обробну програму, а їх обробка виконується паралельно з накопиченням наступної порції даних в буфері.

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

Аналогічним чином буферизація може використовуватися і при виведенні даних.

У деяких випадках виявляється вигідно виконувати введення «з випередженням», тобто вводити ті дані, які поки не запитані оброблювальним процесом, але цілком ймовірно скоро знадобляться.