平成23年 春期 エンベデッドシステムスペシャリスト 午前II 問9

優先度に基づくプリエンプティブスケジューリングのリアルタイムOSを使用した組込みシステムで、入力装置及び出力装置にアクセスする二つのタスクX、Yがある。
XやYより優先度が低く、Yが待ち状態となった時にXに処理が戻る。
X、Yのアクセスを排他制御するために、入力装置及び出力装置それぞれに資源数1のセマフォを用意し、X、Yを図のように実装したとき、デッドロックが発生するのはXが処理中のどのタイミングでYが起床したときか。
ここで、Yは起床するとαから処理を行うこととする。

 ア  A
 イ  B
 ウ  C
 エ  D


答え イ


解説
タスクX、Yの優先度はYが高いのでYが起床するとXは休眠する。
したがって、デッドロックになるのは、タスクXが入力装置用セマフォを取得した段階(B) で、タスクYが起床して休眠し、タスクYがタスクXが取得している入力装置用セマフォの取得を行い待ち状態になり(この段階で出力装置用のセマフォはタスクYが取得している)、タスクXが起床しタスクYが取得済みの出力装置用セマフォを取得しようとしたときである。


キーワード
・プリエンプティブ

キーワードの解説

戻る 一覧へ 次へ