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

多重度(多重プログラミング)とは?たじゅうど

多重度(多重プログラミング)とは、多重プログラミングは、複数のプログラムを主記憶(メモリ)に置いておき、あるプログラムが入出力(ディスクへの読み書きや通信)を待っている間に、別のプログラムに CPU を使わせる OS の仕組みで、同時に主記憶に置いて並行して進めるプログラムの数を多重度という。CPU が 1 つでも、待ち時間を別の仕事で埋めるので CPU の利用率が上がり、全体として単位時間に終わる仕事の量(スループット)が増える。ある瞬間に CPU で動いているのは 1 つだけで、同時に動いているように見えるだけである。試験では、多重度を 1 から 2 に上げたときの全体の処理時間を時刻の表で計算させる問題や、多重度を上げすぎたときの性能低下が問われる。

最終更新:2026-10-10

試験情報

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

基本情報を最短で暗記・合格する →

背景

入出力は CPU の計算に比べてけた違いに遅く、プログラムを 1 本ずつ順番に動かすと、CPU は入出力の終わりを待つ間ほとんど何もしていなかった。高価な CPU を遊ばせないために、待ち時間に別のプログラムを進めるという考え方が生まれた。

具体例

プログラム A・B がどちらも「CPU で 20 ミリ秒→入出力 40 ミリ秒→CPU で 20 ミリ秒」の流れで、入出力どうしは重なってよいとする。多重度 1 で順に動かすと 80+80=160 ミリ秒かかる。多重度 2 なら、A の入出力中(20〜60 ミリ秒)に B の CPU 処理(20〜40 ミリ秒)を進められ、A の後半(60〜80)、B の後半(80〜100)と続いて、全体は 100 ミリ秒で終わる。

試験での引っ掛け

多重度は上げるほど速くなるわけではない。主記憶に入りきらないほど増やすと、主記憶と補助記憶の間でページ(記憶を区切った単位)の入れ替えばかりが起きるスラッシングになり、かえって処理が進まなくなる。また、全体のスループットが上がっても、1 本ずつのプログラムの開始から終了までの時間(ターンアラウンドタイム)は待たされて長くなることがある。複数の CPU で本当に同時に動かすマルチプロセッサとも別物。なお UML のクラス図の「多重度」(1..* のような対応する数)は同じ字で意味が違う。

関連用語

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

基本情報を最短で暗記・合格する →

試験での特徴
  • 分野:テクノロジ系
  • 多重度は上げるほど速くなるわけではない。