バッファとバッファリングとは?ばっふぁとばっふぁりんぐ
バッファとバッファリングとは、速度や処理単位の違う装置の間に置く一時的な記憶領域がバッファ、それを使って速度差を吸収する方法がバッファリング。書き込みはいったん溜めてまとめて送り、読み出しは先に読んで溜めておくことで、遅い側に待たされる時間を減らす。
最終更新:2026-10-09
この語が出る過去問を解く →背景
CPUとディスク、ネットワークと画面表示のように、つなぐ相手の速さが桁違いに違う場面は避けられない。速い側が相手を待って止まると、全体が遅い側の速度に引きずられる。間に置き場を作って両者を切り離せば、それぞれ自分のペースで動ける。1件ずつ送るより、まとめて扱うほうが1回ごとの手続き(オーバヘッド)も減る。
具体例
YouTube や Netflix の動画再生では、まだ再生していない先の部分をバッファに読み込んでおくため、通信速度が一瞬落ちても映像が途切れない。ファイルを1バイトずつ書くプログラムでも、実際には数キロバイト分を溜めてからまとめてディスクへ書き出している。
試験での引っ掛け
キャッシュとの違いが問われる。キャッシュは同じデータをもう一度使うための写しで、バッファは速度差の吸収が目的。バッファに残ったまま電源が落ちると内容は失われるため、確実に書きたい場面では明示的な書出し(フラッシュ)が要る。
関連用語
出た過去問
出典:平成28年度 春期 基本情報技術者試験 午前 問17(IPA)
入出力管理におけるバッファの機能として,適切なものはどれか。
正解:入出力装置と処理装置との間に特別な記憶域を設け,処理速度の違いを緩和する。
要点:バッファは処理装置と入出力装置の速度差を吸収する記憶領域
入出力装置は処理装置に比べて非常に遅いため、直接やり取りすると処理装置が待たされて効率が落ちる。そこで両者の間に一時的な記憶領域を設け、データをいったんそこへ溜めてからまとめて受け渡す。これがバッファで、速度差を吸収して処理装置を待たせずに動かし続けることが目的である。
出典:平成29年度 春期 基本情報技術者試験 午前 問17(IPA)
図の送信タスクから受信タスクにT秒間連続してデータを送信する。1秒当たりの送信量をS,1秒当たりの受信量をRとしたとき,バッファがオーバフローしないバッファサイ…
正解:L≧(S-R)×T
要点:必要バッファ量=(送信量-受信量)×継続時間 以上
1秒あたり送信量Sに対して受信量はRしか掃けないので、バッファには毎秒(S-R)だけ差分が溜まります。送信はT秒間続くため、蓄積量の最大は(S-R)×Tになります。オーバフローしないにはバッファサイズLがこの最大蓄積量以上、すなわちL≧(S-R)×Tである必要があります。
出典:令和元年度 秋期 基本情報技術者試験 午前 問17(IPA)
図の送信タスクから受信タスクにT秒間連続してデータを送信する。1秒当たりの送信量をS、1秒当たりの受信量をRとしたとき、バッファがオーバフローしないバッファサイ…
正解:L≧(S-R)×T
要点:必要バッファ量=(送信速度−受信速度)×送信時間
送信側のほうが速いので、バッファには1秒あたり(S−R)ずつデータがたまっていく。T秒間送り続けると蓄積量は(S−R)×T になるため、バッファサイズLがこの値以上であればあふれない。等号を含めるのは、ちょうど同量なら収まりきるためである。
出典:令和4年度 公開問題 基本情報技術者試験 科目A 問15(IPA)
図の送信タスクから受信タスクにT秒間連続してデータを送信する。1秒当たりの送信量をS、1秒当たりの受信量をRとしたとき、バッファがオーバフローしないバッファサイ…
正解:L≧(S-R)×T
要点:蓄積量は(送信量−受信量)×時間。バッファはこれ以上必要
送信側が1秒当たりSを送り、受信側がRしか引き取れないので、バッファには1秒当たりS−Rずつ溜まっていく。これがT秒続くと、蓄積量は(S−R)×Tに達する。あふれさせないためには、バッファの大きさLがこの蓄積量以上であればよいので、L≧(S−R)×Tとなる。SよりRが小さいという前提から、引き算の向きはS−Rである。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。