未分類
秋期
エンベデッドシステムスペシャリスト 2023年 秋期 問6
6 / 25
優先度に基づくプリエンプティブスケジューリングのリアルタイム OSを使用した 組込みシステムにおいて、入力装置及び出力装置にアクセスする二つのタスク X、Y がある。✕はYより優先度が低く、メが資源待ち状態でない場合にYが資源待ち状態 に遷移すると✕が実行状態に遷移する。入力装置及び出力装置へのアクセスを排他制 するために、入力装置及び出力装置にそれぞれバイナリセマフォ」及び・を用意し、 X,Yを図のように実装したとき、デッドロックが発生するのはXの処理 A,B,C又 はDのうち、どの処理中にプリエンプションが発生してYが実行されたときか。ここ で、Yの実行は&から行うものとし、Xの処理A,B,C及び口では入力装置及び出力 装置へのアクセス及びバイナリセマフォの操作は行わないものとする。 タスクメ タスクY La 出力データの準備 出力データの準備 処理A セマフォ0取得 入力装置及び出力装置へ セマフォi取得 のアクセス セマフォi取得 k 処理B 処理D 入力装置及び出力装置へ のアクセス セマフォ0取得 セマフォ0解放 セマフォi解放 K 処理C セマフォi解放 セマフォo解放 入力データの加工 入力データの加工

正解と解説
表示する
正解 イ
処理B
2つのセマフォを異なる順序で獲得するとデッドロックが発生します。タスクXがセマフォを2つ獲得する途中(片方だけ獲得した状態)でプリエンプトされ、Yが逆順で獲得を試みると相互待ちになります。Xが一方のセマフォを保持した状態でYがもう一方を先に取る処理B中に切り替わるとデッドロックが生じます。