I Unix er det to hovedtyper bufring:
1. Filbuffring :Dette er standardtypen for bufring og den brukes når du leser fra eller skriver til filer. Ved bruk av filbuffring blir dataene lest fra eller skrevet til filen i blokker av en viss størrelse, kalt "bufferstørrelsen". Dette kan forbedre ytelsen ved å redusere antall systemanrop som må foretas.
2. Rørbuffring :Denne typen bufring brukes ved lesing fra eller skriving til rør. Rør brukes til å kommunisere mellom ulike prosesser, og de implementeres vanligvis ved hjelp av en sirkulær buffer. Ved bruk av pipebuffering skrives dataene til røret eller leses fra røret i biter av en viss størrelse, kalt "rørbufferstørrelsen". Dette kan bidra til å unngå vranglås og forbedre ytelsen ved å redusere tiden prosessene trenger for å vente på hverandre.
I tillegg til disse to hovedtypene for buffering, finnes det også en rekke andre buffermekanismer som kan brukes i Unix. Disse inkluderer:
* Terminalbufring :Denne typen bufring brukes når du leser fra eller skriver til en terminal. Ved bruk av terminalbuffering blir dataene lest fra eller skrevet til terminalen i biter av en viss størrelse, kalt "terminalbufferstørrelsen". Dette kan bidra til å forbedre ytelsen ved å redusere antall ganger terminaldriveren må avbrytes.
* I/U-buffring :Denne typen bufring brukes når du leser fra eller skriver til en enhet. Når du bruker I/O-buffring, blir dataene lest fra eller skrevet til enheten i biter av en viss størrelse, kalt "I/O-bufferstørrelsen". Dette kan bidra til å forbedre ytelsen ved å redusere antall ganger enhetsdriveren må avbrytes.
Valget av hvilken buffermekanisme som skal brukes avhenger av den spesifikke applikasjonen og ytelseskravene.