平成29年度 秋期17テクノロジ系

基本情報 平成29年度 秋期 問17:テクノロジ系に関する問題

図の送信タスクから受信タスクに 7 秒間連続してデータを送信する。1 秒当たり の送信量を $, 1 秒当たりの受信量を ア としたとき, バッファがオーバフローしな いバッファサイズ を表す関係式として適切かものはどれか。ここで, 受信タスク よりも送信タスクの方が転送速度は速く, 次の転送開始までの時間間隔は十分にあ るものとする。 Se /コ /Nw アデ ga

  • aとぐ (アーS) xア7
  • bとぐ (5一%) xZ
  • c竹(學一S) xゲ7
  • d人生 (9一7) xゲ正答
正答:D人生 (9一7) xゲ

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは d です。

送信タスクが受信タスクより速いので、毎秒「送信量 − 受信量」だけバッファに溜まっていきます。

7秒間続けて送ると、バッファに溜まる最大量は (送信速度 − 受信速度) × 7秒 ぶん。

この量を入れられるサイズが必要、というのがバッファ設計の基本ルール!

👉 覚え方:差の速度 × 時間 = 必要なバッファ容量

ほかの選択肢は引き算の方向や時間の掛け方を間違えた誤式。「速い方 − 遅い方」がプラスになる方向で覚えよう。

標準試験対策の基準レベル

なぜこれが正解か

正解は d。送信速度をS、受信速度をR(S>R)、転送時間を7秒とすると、毎秒の余剰量は (S−R)、これが7秒間蓄積されるのでバッファ必要サイズは (S−R) × 7。これを満たさないとオーバーフローが発生する。

計算の考え方

  • 送信は7秒間に S×7 バイト送る
  • 受信は同じ7秒間に R×7 バイト処理
  • バッファに溜まる最大量=送信総量 − 受信処理総量 = (S−R)×7
  • よってバッファサイズは ≧ (S−R)×7

各選択肢の解説

  • 差の方向(R−S):負になるので不可能。
  • 時間項の誤り:7秒間連続送信なら掛けるのは「7」または「次転送までの間隔」ではなく送信継続時間
  • d:(S−R)×7 = 正解。

覚え方・ひっかけ注意

バッファ最小容量 = (流入速度 − 流出速度) × 流入継続時間、ただし流入>流出のとき。逆ケース(受信が速い)はバッファ不要。生産者・消費者問題、ストリーミング、フロー制御で共通する基本式。

上級誤答論破・背景理論まで深掘り

理論的背景

この問題は生産者・消費者モデル(Producer-Consumer pattern)の典型。生産速度 λ、消費速度 μ、観測期間 T のとき、必要バッファ最小サイズ B は

B ≥ (λ − μ)⁺ × T (ただし λ > μ のとき)

で与えられる。これはネットワーク輻輳制御、ジッタバッファ、IO スループット設計の共通基盤。

関連する設計問題

  • リーキーバケット(leaky bucket):トラフィックシェーピング。一定速度で流出、バーストはバケツで吸収。バケツサイズ=最大許容バースト量。
  • トークンバケット(token bucket):トークン蓄積で平均レート+バースト許容を制御。
  • ジッタバッファ:VoIP/ストリーミングで到着間隔の揺らぎを吸収。サイズと遅延のトレードオフ。
  • TCP受信ウィンドウ:受信側のバッファ余裕を送信側に通知し、流量を動的調整。

マルチタスク間通信の実装

  • メッセージキュー(POSIX mq, RTOS API):固定サイズバッファ、満杯時はブロック/非ブロック選択。
  • リングバッファ(circular buffer):lock-free実装で高性能。組込み・カーネルバッファで多用。
  • ダブルバッファリング:送信用と受信用を切替、コピーレイテンシを隠蔽。

試験での位置づけ

FE「ハードウェア/組込み」分野で類題が多い。バッファ容量計算、レイテンシ vs スループット、リアルタイム性は組込みシステムスペシャリスト試験(ES)の中核。応用情報ではプロセス間同期(セマフォ、モニタ)まで踏み込む。

実装上の留意点

  • オーバーフロー対策:上位レイヤへのフロー制御通知、バッファ拡張、データ廃棄方針(最古破棄 vs 最新破棄)。
  • アンダーフロー対策:消費側の停滞時にフィラーデータ挿入、再送要求、ストリーミング中断通知。
  • バッファ膨張(bufferbloat):過大なバッファはレイテンシ悪化を招く現代的課題。CoDel等の AQM(Active Queue Management)が対策。

選択肢の発展補足

本問は静的な計算問題だが、実務では送信がバースト的(VBR)な場合が多く、最大バースト幅と平均レートの両方を考慮する。CBRストリーミングなら簡単、VBRなら統計的多重化(statistical multiplexing)で実効バッファを縮小可能。

出典・引用について

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成29年度 秋期17/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

テクノロジ系の他の過去問

1
テクノロジ系
2
テクノロジ系
3
テクノロジ系
4
テクノロジ系
5
テクノロジ系

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビなら基本情報の過去問を解きながら学べます。