基本情報暗記無料で始める

マルチプログラミングとは?まるちぷろぐらみんぐ

マルチプログラミングとは、主記憶(メモリ)に複数のプログラムを置き、あるプログラムが入出力の終わりを待っている間に、CPUを別のプログラムに渡して実行させる方式。CPUの空き時間を減らし、単位時間あたりの処理量(スループット)を上げるのが目的。切り替えはOSが割込み(実行中の処理を止めて別の処理を先にさせる仕組み)をきっかけに行い、そのとき実行中のプロセス(実行中のプログラム)の状態を保存・復元する(コンテキストスイッチ)。

最終更新:2026-10-10

試験情報

基本情報技術者試験の過去問では1回出題されています。

基本情報技術者試験の頻出用語/テクノロジ系

別名:多重プログラミング、マルチプログラミング方式

この語が出る過去問を解く →

背景

CPUに比べて、ディスクやプリンタとのデータのやり取り(入出力)はずっと遅い。1本ずつ順に動かすと、入出力の間CPUが遊んでしまう。複数本を交互に動かせば、待ち時間に別の計算を進められる。1つのプログラムの処理時間が短くなるわけではない点に注意。

具体例

大学の研究室のPCでZoom(ズーム)の講義を聞きながら、Microsoft Wordでレポートを書き、裏でファイルのダウンロードをしているとき、OSは1つのCPUを細かく切り替えて全部を進めている。ダウンロードの完了を待つ間、CPUはWordの入力処理に回されている。

試験での引っ掛け

「入出力待ちの間に他のタスクへCPUを渡す」がマルチプログラミング。「実行を中断して制御プログラムへ移す」のは割込み、「遅い装置とのやり取りを補助記憶経由にして速度差を吸収する」のはスプーリング。1つのプログラムの中を複数の処理の流れに分けるマルチスレッドとも区別する。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:テクノロジ系
  • 「入出力待ちの間に他のタスクへCPUを渡す」がマルチプログラミング。