「AP過去問 令和6年度春期 午前 問17」の版間の差分
編集の要約なし |
編集の要約なし |
||
(同じ利用者による、間の1版が非表示) | |||
9行目: | 9行目: | ||
=='''問17(問題文)'''== | =='''問17(問題文)'''== | ||
三つの資源X~Zを占有して処理を行う四つのプロセスA~Dがある。各プロセスは処理の進行に伴い、表中の数値の順に資源を占有し、実行終了時に三つの資源を一括して解放する。プロセスAと同時にもう一つプロセスを動かした場合に、デッドロックを起こす可能性のあるプロセスはどれか。 | 三つの資源X~Zを占有して処理を行う四つのプロセスA~Dがある。各プロセスは処理の進行に伴い、表中の数値の順に資源を占有し、実行終了時に三つの資源を一括して解放する。プロセスAと同時にもう一つプロセスを動かした場合に、デッドロックを起こす可能性のあるプロセスはどれか。 | ||
<table border="2" style="border-collapse: collapse;border-style: solid"> | |||
<tr> | |||
<td align="center" rowspan="2" style="border: 2px solid; width: 5em;">プロセス</td> | |||
<td align="center" colspan="3" style="border: 2px solid;">資源の占有順序</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid; width: 5em;">資源X</td> | |||
<td align="center" style="border: 2px solid; width: 5em;">資源Y</td> | |||
<td align="center" style="border: 2px solid; width: 5em;">資源Z</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid;">A</td> | |||
<td align="center" style="border: 2px solid;">1</td> | |||
<td align="center" style="border: 2px solid;">2</td> | |||
<td align="center" style="border: 2px solid;">3</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid;">B</td> | |||
<td align="center" style="border: 2px solid;">1</td> | |||
<td align="center" style="border: 2px solid;">2</td> | |||
<td align="center" style="border: 2px solid;">3</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid;">C</td> | |||
<td align="center" style="border: 2px solid;">2</td> | |||
<td align="center" style="border: 2px solid;">3</td> | |||
<td align="center" style="border: 2px solid;">1</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid;">D</td> | |||
<td align="center" style="border: 2px solid;">3</td> | |||
<td align="center" style="border: 2px solid;">2</td> | |||
<td align="center" style="border: 2px solid;">1</td> | |||
</tr> | |||
</table> | |||
22行目: | 59行目: | ||
=='''回答・解説'''== | =='''回答・解説'''== | ||
*A(X → Y → Z) と C(Y → Z → X) を同時に動かすと… | |||
:1.Aが X を確保 | |||
:2.Cが Y を確保 | |||
:3.Aは Yを待つが、Cが保持している → Aがブロック | |||
:4.Cは Xを待つが、Aが保持している → Cがブロック | |||
デッドロック発生! | |||
*A(X → Y → Z) と D(Z → Y → X) を同時に動かすと… | |||
:1.Aが X を確保 | |||
:2.Dが Z を確保 | |||
:3.Aは Yを待つが、Dが先に確保 → Aがブロック | |||
:4.Dは Xを待つが、Aが保持している → Dがブロック | |||
デッドロック発生! | |||
したがってCとDなので、 | |||
<span style = "background:linear-gradient(transparent 75%, #7fbfff 75%); font-weight:bold; "> | |||
イ</span> | |||
が答えです。 | |||
2025年1月30日 (木) 01:12時点における最新版
AP過去問 令和6年度春期 午前 問16前の問題へ
AP過去問 令和6年度春期 午前 問18次の問題へ
問17(問題文)
三つの資源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(X → Y → Z) と C(Y → Z → X) を同時に動かすと…
- 1.Aが X を確保
- 2.Cが Y を確保
- 3.Aは Yを待つが、Cが保持している → Aがブロック
- 4.Cは Xを待つが、Aが保持している → Cがブロック
デッドロック発生!
- A(X → Y → Z) と D(Z → Y → X) を同時に動かすと…
- 1.Aが X を確保
- 2.Dが Z を確保
- 3.Aは Yを待つが、Dが先に確保 → Aがブロック
- 4.Dは Xを待つが、Aが保持している → Dがブロック
デッドロック発生!
したがってCとDなので、
イ
が答えです。
AP過去問 令和6年度春期 午前 問16前の問題へ
AP過去問 令和6年度春期 午前 問18次の問題へ