Data buffer

This is an old revision of this page, as edited by SashatoBot (talk | contribs) at 11:15, 18 February 2006 (robot Adding: fr, hr, it, zh). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computing, a buffer is a region of memory used to temporarily hold output or input data. The data can be output to or input from devices outside the computer or processes within a computer. Buffers can be implemented in either hardware or software, but the vast majority of buffers are implemented in software. Buffers are used when there is a difference between the rate at which data is received and the rate at which it can be processed, or in the case that these rates are variable, for example in a printer spooler.

The difference between buffers and cache:

Buffers are allocated by various processes to use as input queues, etc. Most time, buffers are some processes' output, and they are file buffers. A simplistic explanation of buffers is that they allow processes to temporarily store input in memory until the process can deal with it.

Cache is typically frequently requested disk I/O. If multiple processes are accessing the same files, much of those files will be cached to improve performance (RAM being so much faster than hard drives), it's disk cache.

See also