Back

Buffer

Idealogic’s Glossary

A buffer in data processing is a very important unit of memory management system that is used for temporary storage of data in transit. Buffers are used in controlling the rate at which data is transferred in between two devices or two consecutive processes where the rate at which data is retrieved is not the same as the rate at which data is processed. For instance, when data is input from a storage device for instance a disk, or received from a network, it is first held in a buffer before being processed or forwarded to a display, speakers among other output devices. This enables the avoidance of the depreciation of the data transfer rate and the general performance of the system.

They can be seen in computer programming where data is temporarily held in the RAM because access to the RAM is faster than the access to the hard disks. This is very useful in situations where data has to be retrieved and manipulated at high speed as for instance in real-time systems or high-speed data transfer. Occasionally, buffers are assigned to certain hardware entities and reside at specific hardware addresses, or else they may be implemented as the pointers to memory locations. Thus, buffers can be employed in a wide range of tasks, from I/O processing to interprocess communication and are an indispensable part of contemporary computer systems.

Besides, buffers are used in environments where several processes are involved and may require to access the same data at once, that is in a multitasking system. Through a good use of buffers, it becomes easier for systems to coordinate these accesses and hence minimize on data corruption or loss. In network data transmission, audio streaming, or disk operations, it is through the use of buffers that the system is able to coordinate the timing of data transfer and processing in order to avoid a hitch.