SC情報処理安全確保支援士試験 午前Ⅰ

平成25年度春期 情報処理安全確保支援士 午前Ⅰ 問3

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

流れ図に示す処理の動作の記述として、 適切なものはどれか。ここで、 二重線は普列処理の同期を表す。

選択肢

  1. ア
    ABC又はACBを実行してデッドロックになる。
  2. イ
    AB又はACを実行してデッドロックになる。
  3. ウ
    Aの後にBC又はCB、 BC又はCB、 … と繰り返して実行する。
  4. エ
    Aの後にBの無限ループ又はC の無限ループになる。
解き方のヒントを見る

午前I 問03:みんなで同じものを触るときの交通整理

セマフォ、ミューテックス、ロックは、複数の処理が同じデータを同時に触ってぐちゃぐちゃにならないようにするための仕組みだよ。たとえば、1つのレジを何人もの店員が同時に操作したら金額が合わなくなるよね。そこで「今はこの人だけが使っていいよ」と順番を決めて、データの整合性を守るんだ。

この問題で問われていること

ここで大事なのは、これらの仕組みは処理を速くするためではなく、並行実行しても結果が壊れないようにするためのものだと見抜くことだよ。「高速化」ではなく「整合性の維持」が目的だと押さえよう。

Synchronization Control

synchronization control preserves consistency in concurrent access by using mutual exclusion and ordering mechanisms

shared resource\nmutual exclusion\nordering

確認ポイント

  • 速度向上そのものが目的ではありません。
  • 共有資源の整合性維持です。
  • 排他制御を選ぶ。
正解と解説を見る

正解

ウ

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア

これは不正解だよ。ABCまたはACBの順で実行すること自体は起こり得るけど、その後にデッドロックで止まるわけではないんだ。BとCの両方が終われば同期地点を通過できるから、閉じ込められるのではなく次の繰返しに進むよ。両方のスタンプがそろったらゲートが開く、というイメージだね。

選択肢イ

これは不正解だよ。Aの後にBだけ、またはCだけを実行して止まるわけではないんだ。二重線は「両方の作業が終わるまで待つ合流ゲート」みたいなもの。窓口Bと窓口Cの両方でスタンプをもらう必要があるだけで、片方を押した時点で詰むわけじゃないよ。

選択肢ウ(正解)

これが正解だよ。最初にAを1回済ませた後、並列になったBとCを両方実行して、二重線の同期で合流するんだ。見かけ上はBが先ならBC、Cが先ならCBになるけど、どちらにしても毎回BとCを1セットで終えてから次の周回に進むよ。合鍵を2本そろえてから次の部屋へ進む、という感じだね。

選択肢エ

これは不正解だよ。Bだけ、またはCだけを延々と繰り返す流れではないんだ。二重線の同期があるので、B側だけが勝手に何周も進むことはできないよ。二つの窓口で毎回チェックを受ける仕組みなので、片方の窓口だけをぐるぐる回る状態にはならないんだ。

出典:独立行政法人 情報処理推進機構(IPA)平成25年度春期 情報処理安全確保支援士試験 午前Ⅰ 問3(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針