過去問解きまくり研究所 ホーム

平成24年度 春期 午前 問22

ソフトウェア

プリエンプティブに関する問題

プロセスを,実行状態,実行可能状態,待ち状態,休止状態の四つの状態で管理するプリエンプティブなマルチタスクの OS 上で,A,B,C の三つのプロセスが動作している。各プロセスの現在の状態は,A が待ち状態,B が実行状態,C が実行可能状態である。プロセス A の待ちを解消する事象が発生すると,それぞれのプロセスの状態はどのようになるか。ここで,プロセス A の優先度が最も高く,C が最も低いものとし,CPU は 1 個とする。

ABC
ア実行可能状態実行状態待ち状態
イ実行可能状態待ち状態実行可能状態
ウ実行状態実行可能状態休止状態
エ実行状態実行可能状態実行可能状態
答えと解説を見る

✓ これが正解エ実行状態 実行可能状態 実行可能状態

解説

優先度が最も高いAが走り、Bは順番待ちに戻ります。

プリエンプティブなマルチタスクでは、オペレーティングシステムが実行中のプログラムから処理装置を取り上げてよいことになっています。ですから見分けの軸は、優先度の高いものが走れるようになったとき、いま処理装置を使っているものがどう扱われるか、という一点です。三つを一つずつ動かします。Aは待ちが解けたので走れる列に並び、しかも優先度が最も高いので、そのまま処理装置を受け取って実行状態になります。Bは使っていた処理装置を取り上げられますが、何かの完了を待っているわけではありませんので、実行可能状態に並び直すだけです。Cには何も起きていませんので、並んだままで変わりません。処理装置は一つですから、実行状態になれるのは同時に一つだけです。四つの状態は、走っている、順番を待っている、外の出来事を待っている、そもそも動いていない、と言い換えて区別してください。

ほかの選択肢はなぜ違うのか

出典:平成24年度 春期 応用情報技術者試験 午前 問22

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)