平成26年度 秋期
応用情報技術者試験問題と解答
問16
三つの資源X〜Zを占有して処理を行う四つのプロセスA〜Dが
ある。各プロセスは処理の進行に伴い、表中の数値の順に
資源を占有し、実行終了時に三つの資源を一括して解放する。
プロセスAとデッドロックを起こす可能性があるプロセスはどれか。

 ┌────┬───────────┐
 │    │  資源の占有順序  │
 │プロセス├───┬───┬───┤
 │    │資源X│資源Y│資源Z│
 ├────┼───┼───┼───┤
 │  A  │ 1 │ 2 │ 3 │
 ├────┼───┼───┼───┤
 │  B  │ 1 │ 2 │ 3 │
 ├────┼───┼───┼───┤
 │  C  │ 2 │ 3 │ 1 │
 ├────┼───┼───┼───┤
 │  D  │ 3 │ 2 │ 1 │
 └────┴───┴───┴───┘

 ア B、C、D  イ C、D  ウ Cだけ  エ Dだけ




【正解】 イ

実行終了時に三つの資源を一括して解放するため、
以下の場合にデッドロックが発生する。

■プロセスAとCの場合
@Aが資源Xを占有する。
ACが資源Zを占有する。
BAが資源Yを占有する。
CCが資源Zを占有したまま資源Xの
解放待ち
 同時にAが資源X・Yを占有したまま、資源Zの
解放待ち

■プロセスAとDの場合
@Aが資源Xを占有する。
ADが資源Zを占有する。
BAが資源Yを占有する。
CDが資源Zを占有したまま資源Yの
解放待ち
 同時にAが資源X・Yを占有したまま資源Zの
解放待ち

なおプロセスAとBは
@Aが資源Xを占有する。
ABが資源Xの解放待ち。
BAが資源Yを占有する。
CAが資源Zを占有する。
DAの実行終了。資源をすべて解放。
EBが資源Xを占有する。
FBが資源Yを占有する。
GBが資源Zを占有する。
HBの実行終了。資源をすべて解放。
となり、デッドロックは発生しない。

EXCEL VBAのご相談なら ファーストマクロ 



問15 目次 問17
ファーストマクロ TOPページ