Unter Unix gibt es zwei Haupttypen der Pufferung:
1. Dateipufferung :Dies ist die Standardart der Pufferung und wird beim Lesen aus oder Schreiben in Dateien verwendet. Bei der Dateipufferung werden die Daten in Blöcken einer bestimmten Größe, der sogenannten „Puffergröße“, aus der Datei gelesen oder in diese geschrieben. Dies kann die Leistung verbessern, indem die Anzahl der erforderlichen Systemaufrufe reduziert wird.
2. Pipe-Pufferung :Diese Art der Pufferung wird beim Lesen aus oder Schreiben in Pipes verwendet. Pipes dienen der Kommunikation zwischen verschiedenen Prozessen und werden typischerweise mithilfe eines Ringpuffers implementiert. Bei Verwendung der Pipe-Pufferung werden die Daten in Blöcken einer bestimmten Größe, der sogenannten „Pipe-Puffergröße“, in die Pipe geschrieben oder aus der Pipe gelesen. Dies kann dazu beitragen, Deadlocks zu vermeiden und die Leistung zu verbessern, indem die Zeit verkürzt wird, die Prozesse aufeinander warten müssen.
Zusätzlich zu diesen beiden Haupttypen der Pufferung gibt es auch eine Reihe anderer Pufferungsmechanismen, die unter Unix verwendet werden können. Dazu gehören:
* Terminalpufferung :Diese Art der Pufferung wird beim Lesen von oder Schreiben auf ein Terminal verwendet. Bei Verwendung der Terminalpufferung werden die Daten in Blöcken einer bestimmten Größe, der sogenannten „Terminalpuffergröße“, vom Terminal gelesen oder auf das Terminal geschrieben. Dies kann zur Verbesserung der Leistung beitragen, indem die Anzahl der Unterbrechungen des Terminaltreibers verringert wird.
* E/A-Pufferung :Diese Art der Pufferung wird beim Lesen von oder Schreiben auf ein Gerät verwendet. Bei Verwendung der E/A-Pufferung werden die Daten in Blöcken einer bestimmten Größe, der sogenannten „E/A-Puffergröße“, vom Gerät gelesen oder auf das Gerät geschrieben. Dies kann zur Verbesserung der Leistung beitragen, indem die Anzahl der Unterbrechungen des Gerätetreibers verringert wird.
Die Wahl des zu verwendenden Puffermechanismus hängt von der spezifischen Anwendung und den Leistungsanforderungen ab.