Buffer (fra engelsk buffer ) - en metode til at organisere udveksling, især datainput og -output i computere og andre computerenheder , som involverer brugen af en buffer til midlertidig datalagring. Når data indtastes, skriver nogle enheder eller processer data til bufferen, mens andre læser fra den, og omvendt, når de udlæser. Processen, der skrev til bufferen, kan fortsætte med det samme uden at vente på, at dataene bliver behandlet af en anden proces, som den er beregnet til. Til gengæld kan den proces, der har behandlet en vis del af data, straks læse den næste del fra bufferen. Således tillader buffering processer, der udfører input, output og behandling, at køre parallelt uden at vente på, at en anden proces gør sin del. Derfor er databuffring i vid udstrækning brugt i multitasking -operativsystemer .
Buffering kan ifølge princippet om dens konstruktion være gennemsigtig (et eksempel er diskcaching til skrivning, når processer eller enheder er uvidende om eksistensen af en bufferprocedure mellem dem), og uigennemsigtig , når parterne har brug for viden om bufferen for at fuldføre udvekslingen. Et illustrativt eksempel. Papirpost er indkapslet i postsække, derefter i togvogne, biler og andre køretøjer. Afsenderen og modtageren skal kun kende ét niveau af buffering - postkasser. De resterende niveauer er gennemsigtige for brugeren!
Udtrykkene "gennemsigtig" og "ugennemsigtig" buffering er ikke helt vellykkede, da de kan være noget forvirrende. Som mere vellykket kunne man foreslå udtrykkene henholdsvis "usynlig" og "synlig buffering
Forskellige typer buffering bruges i computergrafik, til behandling og visning af billeder (se dobbelt og tredobbelt buffering ), og de kan implementeres både i hardware og i software.