I Unix er der to hovedtyper af buffering:
1. Filbuffring :Dette er standardtypen for buffering, og den bruges ved læsning fra eller skrivning til filer. Når du bruger filbuffring, læses eller skrives data fra filen i blokke af en bestemt størrelse, kaldet "bufferstørrelsen". Dette kan forbedre ydeevnen ved at reducere antallet af systemopkald, der skal foretages.
2. Rørbuffer :Denne type buffering bruges ved læsning fra eller skrivning til rør. Rør bruges til at kommunikere mellem forskellige processer, og de implementeres typisk ved hjælp af en cirkulær buffer. Ved brug af pipe buffering skrives dataene til røret eller læses fra røret i bidder af en vis størrelse, kaldet "rørbufferstørrelsen". Dette kan hjælpe med at undgå dødvande og forbedre ydeevnen ved at reducere den tid, processer skal vente på hinanden.
Udover disse to hovedtyper af buffering er der også en række andre buffermekanismer, som kan bruges i Unix. Disse omfatter:
* Terminal buffering :Denne type buffering bruges ved læsning fra eller skrivning til en terminal. Ved brug af terminalbuffering læses data fra eller skrives til terminalen i bidder af en vis størrelse, kaldet "terminalbufferstørrelsen". Dette kan hjælpe med at forbedre ydeevnen ved at reducere antallet af gange, som terminaldriveren skal afbrydes.
* I/O-buffer :Denne type buffering bruges, når du læser fra eller skriver til en enhed. Når der bruges I/O-buffer, læses eller skrives dataene til enheden i bidder af en bestemt størrelse, kaldet "I/O-bufferstørrelsen". Dette kan hjælpe med at forbedre ydeevnen ved at reducere antallet af gange, enhedsdriveren skal afbrydes.
Valget af, hvilken buffermekanisme, der skal bruges, afhænger af den specifikke applikation og ydeevnekravene.