基本情報技術者 2019年 秋期 午前(科目A) 問17
問題文
図の送信タスクから受信タスクに秒間連続してデータを送信する。1秒当たりの送信量を、1秒当たりの受信量をとしたとき、バッファがオーバフローしないバッファサイズを表す関係式として適切なものはどれか。ここで、受信タスクよりも送信タスクの方が転送速度は速く、次の転送開始までの時間間隔は十分にあるものとする。

選択肢
ア:
イ:
ウ:
エ:(正解)
送信タスクから受信タスクへのデータ送信(バッファサイズの条件)【午前2 解説】
要点まとめ
- 結論:受信より送信の方が速いとき、バッファは少なくとも を満たす必要があります。
- 根拠:送信側が 1 秒に 、受信側が 1 秒に 処理すると、1 秒間に溜まる量は 、 秒で です。
- 差がつくポイント:符号の向き( と )と不等号の向き( と )、初期占有や余裕(マージン)を考慮することが重要です。
正解の理由
送信速度が受信速度より速い()ため、バッファには毎秒 のデータが累積します。連続送信時間が 秒あるので、累積量は となり、バッファがオーバフローしないにはこの累積量を格納できる容量が必要です。したがって正しい関係式は であり、選択肢の中ではエが該当します。
よくある誤解
- 「R-S を使う」:問題文で送信が速いと言っているのに符号を逆にしてしまい、負の値や不適切な式になる誤り。
- 「厳密な < を使う」:等号を忘れて のようにしてしまうと、必要容量ちょうどのケースで誤答になります。
- 「初期バッファを無視」:問題で初期状態が明示されていない場合は通常空と考えるが、実務では初期占有があると条件が変わる点を見落とすことがあります。
解法ステップ
- 問題文から条件を整理する:送信速度 、受信速度 、送信継続時間 、。
- 1 秒あたりの正味増加量を計算:正味増加量 (単位:量/秒)。
- 時間 秒での累積量を求める:累積量 。
- バッファがオーバーフローしない条件は、バッファ容量 がこの累積量以上であること:。
- 選択肢と照らし合わせて正しい不等式を選ぶ。
選択肢別の誤答解説
- ア:
誤り。 のため は負になり、右辺が負値になります。バッファ容量 は非負であるため成立しない式です。 - イ:
誤り。必要容量が 以上でなければならないのに、小さくする条件 を使っておりオーバーフローを許してしまいます。 - ウ:
誤り。 は負( の前提)になるため右辺が負値になり、意味的に不適切な表現です。実際の必要容量は正の値 です。 - エ:
正解。送信量と受信量の差を時間で積分した量がバッファに溜まる最大値であり、それ以上の容量が必要です。
補足コラム
実務では次の点にも注意が必要です。単純モデルは定常的な速度 を仮定しますが、実際の送受信はバースト性や遅延変動、プロトコルのウィンドウ制御で変化します。安全側に取るなら想定値にマージンを追加して のようにするのが一般的です。また初期バッファ占有量 がある場合は条件が に変わります。
例: のとき累積量は 。バッファは少なくとも 15 単位必要です。
FAQ
Q1:もし ならどうなりますか?
A1: の場合はバッファに溜まらない(あるいは減る)ため、追加の容量は不要で理論上は で足ります。ただし初期占有がある場合はそれを超える容量が必要です。
A1: の場合はバッファに溜まらない(あるいは減る)ため、追加の容量は不要で理論上は で足ります。ただし初期占有がある場合はそれを超える容量が必要です。
Q2:なぜ不等号は ですか、> ではダメですか?
A2:等しい場合()にちょうどオーバーフローしないため、 が正しいです。実運用では安全余裕のため を目標にすることが多いです。
A2:等しい場合()にちょうどオーバーフローしないため、 が正しいです。実運用では安全余裕のため を目標にすることが多いです。
Q3:単位の扱いで注意点はありますか?
A3: は「単位/秒」、 は秒、 は同じ「単位」である必要があります。単位が揃っていないと計算は無効です。
A3: は「単位/秒」、 は秒、 は同じ「単位」である必要があります。単位が揃っていないと計算は無効です。
関連キーワード: バッファ設計、オーバーフロー回避、送受信速度、流量差、バースト制御、スループット、ネットワークバッファ、流量制御、容量設計

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

