No.66 優先度に基づくプリエンプティブなスケジューリングを行うリアルタイムOSで,二つのタスクA,Bをスケジューリングする。
Aの方がBより優先度が高い場合にリアルタイムOSが行う動作のうち,適切なものはどれか。
Aの方がBより優先度が高い場合にリアルタイムOSが行う動作のうち,適切なものはどれか。
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
|
|
|
|
プリエンプティブなタスクスケジューリングでは、CPU資源の使用をOSが管理し、タスクを動的に切り替えながら実行していきます。OSの動作は、A・Bの優先度及びA・Bの状態によって変わります。
[Aの実行中にBに起動がかかる]
タスクの優先度は「A>B」なので、Bは実行可能状態となり、Aの実行が継続されます。待ち状態は、入出力待ちなどですぐにCPU処理に移れないタスクが遷移する状態なので、Bは待ち状態ではなく実行可能状態に移されます。
[Bの実行中にAに起動がかかる]
タスクの優先度は「A>B」なので、Bは実行可能状態に移され、AにCPU使用権が与えられます。

タスクの優先度は「A>B」なので、Bは実行可能状態となり、Aの実行が継続されます。待ち状態は、入出力待ちなどですぐにCPU処理に移れないタスクが遷移する状態なので、Bは待ち状態ではなく実行可能状態に移されます。
[Bの実行中にAに起動がかかる]
タスクの優先度は「A>B」なので、Bは実行可能状態に移され、AにCPU使用権が与えられます。
- Aの実行中にBに起動がかかると,Aを実行可能状態にしてBを実行する。
Aの実行が継続されます。 - Aの実行中にBに起動がかかると,Aを待ち状態にしてBを実行する。
Aの実行が継続されます。 - Bの実行中にAに起動がかかると,Bを実行可能状態にしてAを実行する。
正しい。 - Bの実行中にAに起動がかかると,Bを待ち状態にしてAを実行する。
Bは実行可能状態に移されます。
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |