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

分野:ソフトウェア(OS・タスク/プロセス管理・記憶管理・ファイル管理・OSS・ミドルウェア)|実際に出題されたIPA過去問題

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

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より
  1.  A:実行可能状態/B:実行状態/C:待ち状態
  2.  A:実行可能状態/B:待ち状態/C:実行可能状態
  3.  A:実行状態/B:実行可能状態/C:休止状態
  4.  A:実行状態/B:実行可能状態/C:実行可能状態
解答・解説を見る

正解:エ

AI解説

プリエンプティブなマルチタスクOSでは、待ち状態が解消されたプロセスの優先度が現在実行中のプロセスより高い場合、OSは実行中のプロセスからCPUを取り上げて優先度の高いプロセスに切り替える(プリエンプション)。ここではAが最優先なので、待ち解消後Aは直ちに実行状態になり、それまで実行状態だったBは実行可能状態に降格する。Cはもともと実行可能状態のままで変化しない(優先度がBより低くCPUを得られないため)。 ア: Aが実行可能状態のままでBが実行状態を維持するのは誤り。Aは最優先なので待ちが解消されれば直ちに実行状態になるはずである。 イ: Bが待ち状態になる理由がなく、また実行可能状態のCが実行可能状態のままである点は正しいが、Aが実行可能状態にとどまるとした点が誤りである。 ウ: Cが休止状態になる根拠がない。Cはもともと実行可能状態であり、Aの待ち解消によってCの状態が変化する理由はない。 エ: 正しい。最優先のAが実行状態になり、それまで実行状態だったBは実行可能状態に降格し、Cはもともとの実行可能状態のまま変化しない。 💡 プリエンプティブOSでは「より優先度の高いプロセスが実行可能になった瞬間に、実行中のプロセスからCPUを奪う」という原則を押さえておくと、この種の状態遷移問題を素早く解ける。

出典:平成24年度 春期 応用情報技術者試験 午前 問22 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「ソフトウェア」分野の攻略ポイント

OS・タスク/プロセス管理・記憶管理・ファイル管理・OSS・ミドルウェアが範囲です。ページ置換えアルゴリズムやタスクスケジューリングは手順が決まっているので、シミュレーションの練習をすれば確実に得点源になります。

ソフトウェアの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(ソフトウェア(OS・タスク/プロセス管理・記憶管理・ファイル管理・OSS・ミドルウェア))の過去問