Buffer is an area of memory used to temporarily store data during transfer between two devices or between a device and an application. There are several types of buffering used in operating systems:
1) Single buffering uses one buffer assigned by the OS for each I/O request.
2) Double buffering uses two system buffers so computation and transfer can occur in parallel.
3) Circular buffering uses more than two buffers arranged in a circle so I/O can keep up with rapid process bursts.
4) Utility buffering overlaps I/O with computations through reserving memory areas called buffers. This improves CPU utilization and job completion times.