基本情報技術者令和元年秋期 午前問18

問18

優先度に基づくプリエンプティブなスケジューリングを行うリアルタイムOSで,二つのタスクA,Bをスケジューリングする。Aの方がBより優先度が高い場合にリアルタイムOSが行う動作のうち,適切なものはどれか。
  • Aの実行中にBに起動がかかると,Aを実行可能状態にしてBを実行する。
  • Aの実行中にBに起動がかかると,Aを待ち状態にしてBを実行する。
  • Bの実行中にAに起動がかかると,Bを実行可能状態にしてAを実行する。
  • Bの実行中にAに起動がかかると,Bを待ち状態にしてAを実行する。
  • [出題歴]
  • 基本情報技術者 H25秋期 問18
  • 基本情報技術者 H29秋期 問18

分類

テクノロジ系 » ソフトウェア » オペレーティングシステム

正解

解説

プリエンプティブなタスクスケジューリングでは、CPU資源の使用をOSが管理し、タスクを動的に切り替えながら実行していきます。OSの動作は、A・Bの優先度及びA・Bの状態によって変わります。
18.png/image-size:288×154
[Aの実行中にBに起動がかかる]
タスクの優先度は「A>B」なので、Bは実行可能状態となり、Aの実行が継続されます。待ち状態は、入出力待ちなどですぐにCPU処理に移れないタスクが遷移する状態なので、Bは待ち状態ではなく実行可能状態に移されます。

[Bの実行中にAに起動がかかる]
タスクの優先度は「A>B」なので、Bは実行可能状態に移され、AにCPU使用権が与えられます。
  • Aの実行が継続されます。
  • Aの実行が継続されます。
  • 正しい。
  • Bは実行可能状態に移されます。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop