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

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

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

  • a入出力装置が利用可能になったことを, 入出力装置が処理装置に伝える。
  • b入出力装置と処理装置との間に特別な記憶域を設け, 処理速度の違いを緩和す る。 「正答
  • c入出力装置と処理装置との間のデータ交換に階層を設けることによって, 入出 力装置固有の仕様を意識せずに利用できる。
  • d入出力装置をファイルと同じように取り扱えるようにする。
正答:B入出力装置と処理装置との間に特別な記憶域を設け, 処理速度の違いを緩和す る。 「

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解説です。

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

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

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

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