However, this requires more memory to be available to the process or device, which can be expensive. The simplest guard against such problems is to increase the size of the buffer-if an incoming data stream needs to be read at 1 bit per second, a buffer of 10 bits would allow the connection to be blocked for up to 10 seconds before failing, whereas one of 60 bits would allow a blockage of up to a minute. General causes and solutions īuffer underruns are often the result of transitory issues involving the connection which is being buffered: either a connection between two processes, with others competing for CPU time, or a physical link, with devices competing for bandwidth. The terms buffer underrun and buffer underflow are also used for meaning buffer underwrite, a condition similar to buffer overflow, but where the program is tricked into writing before the beginning of the buffer, overriding potential data there, like permission bits. In terms of concurrent programming, a buffer underrun can be considered a form of resource starvation. This can cause undesired and sometimes serious side effects because the data being buffered is generally not suited to stop-start access of this kind. This requires the program or device reading from the buffer to pause its processing while the buffer refills. The term is distinct from buffer overflow, a condition where a portion of memory forms a buffer of a fixed size yet is filled with more than that amount of data. In computing, buffer underrun or buffer underflow is a state occurring when a buffer used for communicating between two devices or processes is fed with data at a lower speed than the data is being read from it. Look up underrun in Wiktionary, the free dictionary.
0 Comments
Leave a Reply. |