応用情報技術者試験 2009年度 = 平成21年度・秋期 午前 問19

 リアルタイムOSのマルチタスク管理機能において、タスクAが実行状態から実行可能状態へ遷移するのはどの場合か。

ア タスクAが入出力要求のシステムコールを発行した。
イ タスクAが優先度の低いタスクBに対してメッセージ送信を送った。
ウ タスクAより優先度の高いタスクBが実行状態となった。
エ タスクAより優先度の高いタスクBが待ち状態となった。

解答



解説

 タスク管理の主目的は、複数のプログラムに対してCPUを割り当てるマルチプログラミングを行うことによって、CPUを効率よく利用することです。

 プロセスの状態および状態遷移は、以下のようになります。

実行(running)
 CPUを確保し、プログラムを実行している状態。

実行可能(ready)
 CPUが割り当てられればすぐプログラムを実行できる状態。

待機(wait)
 要求しているリソース、たとえば入出力機器が、空くのを待っているとか、メッセージが到達するのを待っているとか、何らかの待ち状態にあり、CPUを必要としていない状態。

 タスクAが入出力要求のシステムコールを発行した場合、タスクAは待機状態に遷移します。

 タスクAが優先度の低いタスクBに対してメッセージ送信を送っても、タスクAは実行状態を維持します。

 タスクAより優先度の高いタスクBが実行状態となった場合、タスクAは実行可能状態へと遷移します。。

 タスクAより優先度の高いタスクBが待ち状態となっても、タスクAは実行状態を維持します。


BohYoh.comトップページへ