バッファ 【buffer】 緩衝記憶装置
概要
バッファ(buffer)とは、緩衝材、緩衝装置という意味の英単語で、IT分野では複数の機器などがデータの伝送・処理を行う際に、処理速度や伝送速度の差、タイミングのズレなどを補うためにデータを一時的に蓄えておく記憶装置や記憶領域をこのように呼ぶ。例えば、コンピュータがプリンタにデータを送って印刷する場合、プリンタが印刷する速度はコンピュータとプリンタの間の通信速度よりも遥かに遅い。単純に次々データを送ってしまうと、印刷が追いつかずにデータを取りこぼし、途切れ途切れに印刷されてしまうことになる。
このため、プリンタの内部には半導体メモリが内蔵されており、受信したデータを一時的に蓄えておき、印刷速度にあわせて順次データを読み出して印刷を行うようにできている。このように処理待ち、送信待ちのデータを一時的に待機させておく保管領域をバッファという。
バッファ装置やバッファ領域を用意し、受け取ったデータを一時的に溜め込んでおく処理を「バッファリング」(buffering)という。動画のストリーミング配信で、再生中に続きのデータがなかなか届かず中断してしまうのを防ぐため、受信開始後に再生開始をわざと遅らせ、ある程度先までのデータをあらかじめ貯めておく動作などがこれに当たる。
バッファとして用意したメモリ領域の容量を超えるデータが到着し、バッファから「あふれ」てしまう場合もある。バッファ領域の管理に欠陥があり、あふれたデータが隣接する無関係な領域の内容を破壊していまう誤作動を「バッファオーバーフロー」という。予期しない動作を引き起こすため、サイバー攻撃などに悪用されることがある。
一方、一度受け取った内容が再度必要になったとき素早く読み出せるように、高速な記憶装置や記憶領域に一時保管しておく仕組みもあり、「キャッシュ」(cache)と呼ばれる。ネットワークを介して取り寄せたデータを手元のストレージにファイルとして記録しておき、毎回サーバから受信し直さないようにするキャッシュファイルなどがこれに当たる。
(2023.3.12更新)