基本情報 平成28年度 秋期 問17:テクノロジ系に関する問題
入出力管理におけるバッファの機能として, 適切かものはどれか。
- a入出力装置が利用可能になったことを, 入出力装置が処理装置に伝える。
- b入出力装置と処理装置との間に特別な記憶域を設け, 処理速度の違いを緩和す る。 「正答
- c入出力装置と処理装置との間のデータ交換に階層を設けることによって, 入出 力装置固有の仕様を意識せずに利用できる。
- d入出力装置をファイルと同じように取り扱えるようにする。
AI解説(初心者・標準・上級)
理解度に合わせて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/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。