プロセスを、実行状態、実行可能状態、待ち状態、休止状態の四つの状態で管理するプリエンプティブなマルチタスクのOS上で、A、B、Cの三つのプロセスが動作している。各プロセスの現在の状態は、Aが待ち状態、Bが実行状態、Cが実行可能状態である。プロセスAの待ちを解消する事象が発生すると、それぞれのプロセスの状態はどのようになるか。ここで、プロセスAの優先度が最も高く、Cが最も低いものとし、CPUは1個とする。
┌──────┬──────┬──────┐
│ A │ B │ C │
┌─┼──────┼──────┼──────┤
│ア│実行可能状態│実行状態 │待ち状態 │
├─┼──────┼──────┼──────┤
│イ│実行可能状態│待ち状態 │実行可能状態│
├─┼──────┼──────┼──────┤
│ウ│実行状態 │実行可能状態│休止状態 │
├─┼──────┼──────┼──────┤
│エ│実行状態 │実行可能状態│実行可能状態│
└─┴──────┴──────┴──────┘
エ
優先度の高いプロセスにによって、実行状態のプロセスがCPU使用権をを失うと実行可能状態になる。
また入出力要求があると、実行状態のプロセスは待ち状態になる。
休止状態は、タスクが起動していない状態である。
従って、優先度が最も高いプロセスAが待ち状態から実行状態となり、他のプロセスは、実行可能状態となる。
なお、プリエンプティブなマルチタスクは、OSがアプリケーションのCPU割り当て時間を管理する方式である。
問21 | 目次 | 問23 |