本文へ移動
✓ 合格ドリル基礎から練習

基本情報技術者 / 条件・事例の練習

基本情報技術者試験基礎・応用

条件を読む・根拠を説明する

二つの資源の待合せ

条件を整理し、答えを選んでから解き方を確認しましょう。

PはL1を保持してL2を待ち、QはL2を保持してL1を待つ。ロックは排他的で、解放されるまで待つ。同じ種類の停止を予防する変更はどれか。

答え・解き方を読む

全処理がL1、L2の順に取得する

図で見る
相手が持つ資源を互いに待つ
相手が持つ資源を互いに待つ
相手が持つ資源を互いに待つ図を拡大して見る ↗

Pが資源1を保持して資源2を待ち、Qが資源2を保持して資源1を待つ関係です。資源を同じ順序で取得する等の対策で循環待ちを防ぎます。

図は問題の関係を整理する模式図です。記号には各問題の数値を当てはめます。寸法・面積・時間の縮尺や、実施工の全条件は表していません。

考える順序

  1. 1各処理が相手の保持資源を待つ循環がある
  2. 2両方の取得順序を統一する
  3. 3片方を保持したまま逆順で待つ循環を防ぐ

選択肢ごとの理由

  • 比較 · 一つ目のロック取得中だけ排他化し、その後は元の逆順を保つ

    取得間の交錯が残り、それぞれ一つを保持する状態になり得ます。

  • 比較 · 各ロック操作を原子的にすれば取得順の統一は不要

    個々の操作が原子的でも複数ロック間の循環待ちは残ります。

  • 比較 · 二つ目を待つ間、一つ目を保持して定期的に再試行する

    最初のロックを保持し続けると相手も進めません。

  • 正解 · 全処理がL1、L2の順に取得する

    各処理が相手の保持資源を待つ循環がある。両方の取得順序を統一する。片方を保持したまま逆順で待つ循環を防ぐ。

学習アプリで条件・事例を5問 →

学習の参考資料

用語・仕組みを学ぶための参考資料です。設問の条件と、このページの解き方を併せて確認してください。

教材の作成・確認方法

関連する要点をまとめて読む

技術の入口の要点と練習一覧 →