バッファとは、複数の機器やソフトウェアの間でデータをやり取りするときに、
ハードウェア間の処理速度や転送速度の違いを補うためにデータを一時的に保存する記憶媒体装置または記憶領域のことです。
プロデューサー(producer)と呼ばれるデータを生成する側と
コンシューマ(consumer)と呼ばれるプロデューサーが生成したデータを利用、
消費する側の間にバッファを置くことにより、お互いの生成と消費の速度差を補い、
効率よくデータを生成、利用することができます。
パソコンからプリンタにデータを送る場合、プリンタが受信したデータを用紙に印刷する速度はパソコンとプリンタの間の
通信速度よりも遅いため、バッファを設置せずにプリンタにデータを送信すると印刷が追いつかず、途切れ途切れに印刷されてしまいます。
それを防ぐため、プリンタの内部には半導体メモリが内蔵されており、受信したデータを一時的に保存し、
印刷速度に合わせてデータを読み出して印刷を行います。
インターネット上では、利用者が混雑した場合、データの受信が遅くなってしまう場合があります。
それを防ぐため、パソコンは余分にデータを受信し、データの受信が途切れてしまったときの隙間を補います。
インターネットで挿画を見る場合、パソコンで数秒から数分のデータを余分に受信してから再生を開始します。
こうすることにより、インターネットが混雑しても、映像が途切れることなく動画の再生をすることができます。
また、一度バッファに保存したデータを繰り返して利用することをキャッシュといいます。
例えば、ハードディスクからデータを読み出してバッファに保存し、その後はハードディスクへのアクセスを行わずに、
バッファからデータを読み出すことにより、アクセスに要する時間を削除します。
|