• Temporary storage in memory used to hold data while it’s being transferred between devices or processes
  • Acts as an intermediary
  • Used commonly in IO-ops, network communications and data processing
  • Helps in making sure the data transfer for both source and destination is steady to prevent data loss or corruption
  • Buffers are typically found as fixed-size memory regions
  • Data is written/read from buffers in chunks
  • When a buffer is full, the data is transferred to it’s destination, when it’s empty, it’s refilled from source

Types of buffers

  • Single Buffer: Simple buffer used to transfer data between 2 devices
  • Double Buffer: Uses 2 buffers to transfer data between 2 devices. One buffer can manipulate the data as the second buffer transfers to the next device.
  • Circular Buffer: Involves collections of more than 2 buffers. Generally using circular buffers increase transfer rate.