基本情報

基本情報 平成28年度 春期 問17|テクノロジ系に関する問題

問題

基本情報 | 平成28年度 春期 | 分野:テクノロジ系

入出力管理におけるバッファの機能として,適切なものはどれか。

キーボード:1〜4で選択・Enterで次へ

タップするとすぐ答え合わせ

答え合わせ

正解は B
  • A
  • B
  • C
  • D

自信の3択

えらぶと、この端末に記録します(登録はいりません)

解説

答えは b「処理速度の違いを緩和する記憶域を設ける」 です。

バッファは「速さの違うもの同士の間にはさむ受け皿」のこと。

たとえばCPU(超速い)とハードディスク(遅い)の間にメモリのバッファを置く。CPUが「データちょうだい!」と急いでも、バッファに溜めておけば待たずにすむ。

👉 覚え方:バッファ=速度差のクッション。

ほかの選択肢:a 利用可能通知=割込みの話/c 階層化で固有仕様を隠す=デバイスドライバの役割/d ファイル同等扱い=UNIXの「すべてはファイル」哲学。

なぜこれが正解か

正解は b。入出力管理におけるバッファ(buffer)は、処理装置(CPU)と入出力装置(ディスク・ネットワーク等)の間の処理速度差を緩衝する一時記憶領域。高速側と低速側の同期を取り、CPUが入出力完了を待つ時間を最小化する。バッファリングにより入出力と計算をオーバラップさせ全体スループットが向上。

各選択肢の解説

  • a 利用可能を通知:割込み(interrupt)の機能。状態通知メカニズム。
  • b 処理速度差を緩和:正解。バッファの本質的役割。
  • c 階層化で固有仕様を隠蔽:デバイスドライバ/HALの役割。抽象化レイヤ。
  • d ファイル同等扱い:UNIX「すべてはファイル」哲学、デバイスファイル(/dev/)の概念。

覚え方・ひっかけ注意

IO関連用語の識別:

  • バッファ:速度差吸収(一時記憶)
  • キャッシュ:高速化のための再利用前提コピー
  • スプール:印刷等で一連の処理を順次実行するため待ち行列管理
  • 割込み:状態変化の通知
  • DMA:CPUを介さない直接転送

「バッファ=速度差吸収」「キャッシュ=再利用高速化」「スプール=順次処理キュー」で識別。試験ではバッファとキャッシュの混同が頻出。

理論的背景

バッファリング技法は計算機システムのスループット向上の核心。シングルバッファ(1つ)、ダブルバッファ(2つで読み書き並列化)、循環バッファ(ring buffer)(FIFO構造)、マルチバッファ(n個でパイプライン化)に分類。生産者-消費者問題の同期はセマフォ・mutex・条件変数で実現し、Linuxカーネルではロックフリー実装(kfifo)も標準採用。

実務での使われ方

各種バッファ実例:

  • TCP送受信バッファ:カーネル空間(sysctl net.core.rmem_max等で調整)
  • ディスクI/Oバッファ:ページキャッシュ・バッファキャッシュ(Linuxは統合)
  • 動画再生バッファ:ストリーミング遅延吸収(Netflix・YouTube)
  • オーディオバッファ:低レイテンシ再生(ASIO・CoreAudio)
  • ログバッファ:syslog・systemd-journald、書き込み集約
  • データベースのバッファプール:MySQL innodb_buffer_pool_size

バッファサイズ設計のトレードオフ:

  • 大きすぎる:レイテンシ増、メモリ消費過多、データ古化(リアルタイム性低下)
  • 小さすぎる:オーバラン発生、スループット低下、システムコール頻発

試験での位置づけ

オペレーティングシステム・入出力管理分野の頻出テーマ。基本情報ではバッファ用語識別、応用情報・組込みシステムスペシャリストではダブルバッファリング・DMA・ゼロコピーI/O・カーネルバイパスまで踏み込む。

選択肢の発展補足

I/O高速化技術の発展:

  • DMA(Direct Memory Access):CPU非介在のメモリ⇔I/O直接転送
  • ゼロコピーI/O:カーネル・ユーザ空間のコピー削減(sendfile、splice)
  • 非同期I/O(AIO):I/O完了をシステムコールで待たない(io_uring:Linux 5.1+)
  • カーネルバイパス:DPDK・RDMAで高速ネットワーク処理
  • NVMe:PCIe接続SSDの高速I/Oプロトコル(複数キュー並列化)

IoT組込み機器では循環バッファでセンサデータの連続取り込み、ダブルバッファでグラフィックスのちらつき防止(VSync同期)等が定番パターン。バッファオーバーフロー脆弱性(CWE-120)はバッファサイズチェック不備でメモリ破壊→任意コード実行、というセキュリティ最重要脆弱性。試験対策はバッファの基本役割理解+関連I/O技術+セキュリティ観点で応用情報以上に対応。

この問題の根拠出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成28年度 春期 問17
訂正の記録この問題の訂正はありません(サイト全体の記録)
出典と作り方

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成28年度 春期 問17/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。