マルチプログラミング(マルチタスク)
マルチプログラミングとは
マルチプログラミングとは、複数のプログラム(タスク)を並行して同時に実行することです。マルチタスクや多重プログラミングとも呼ばれています。
コンピュータで実行するプログラムには「CPUによる処理」と「入出力処理」があり、入出力処理をしている間、CPUは何もしていません。
次の図は、プログラムの内訳例です。
「90ミリ秒」かかる処理の中で、CPUが処理している時間は「30ミリ秒」です。「60ミリ秒」間は入出力の処理であり、その間、CPUは何もしていません。
マルチプログラミングは、この何もしていない時間(アイドルタイム)に別のプログラムを処理させることでCPUの利用効率を向上させています。
マルチプログラミングの例
例えば、次のような2つのプログラムがあるとします。
どちらのプログラムも「90ミリ秒」かかるので、順番に処理すると「180ミリ秒」必要です。
以下の図は、2つのプログラムをマルチプログラミングで処理したときのイメージ例です。
CPUはプログラムAを処理し、プログラムAの入出力処理が終わるのを待っている間にプログラムBの処理を行います。
その結果、本来であれば「180ミリ秒」かかる2つのプログラムが「100ミリ秒」で終了しています。
このように、マルチプログラミングではCPUが何もしていない時間(アイドルタイム)に、別のプログラムを処理させることで、CPUの利用効率を向上させています。
helpful
この記事は役に立ちましたか?