SC情報処理安全確保支援士試験 午前Ⅰ
平成28年度春期 情報処理安全確保支援士 午前Ⅰ 問3
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アABC又はACBを実行してデッドロックになる。
- イAB又はACを実行してデッドロックになる。
- ウAの後にBC又はCB、 BC又はCB、 … と繰り返して実行する。
- エAの後にBの無限ループ又はC の無限ループになる。
解き方のヒントを見る
午前I 問03:共有データをみんなで安全に使うには?
セマフォやロックは、複数の処理が同じデータを同時に触ってぐちゃぐちゃにしないための「順番待ちルール」みたいなものだよ。たとえば、1冊の予約台帳を何人も同時に書き換えたら内容が壊れそうだよね。そうならないように、今使っている人が終わるまで他の人を待たせて、共有データの整合性を守る仕組みなんだ。
この問題で問われていること
ここで見抜きたいのは、セマフォやロックの目的は処理を速くすることではなく、共有データのつじつまを守ることだよ。並行処理=高速化と考えたくなるけれど、この問題では「同時に触ると壊れるデータをどう安全に扱うか」に注目しよう。
Synchronization Control
synchronization control prevents inconsistency in concurrent access to shared resources by using exclusion and ordering
shared resource\nmutual exclusion\nordering
確認ポイント
- 単に処理を速くするためだけではありません。
- 共有資源の整合性維持が目的です。
- 排他制御の説明を選ぶ。
正解と解説を見る
正解
ウ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
不正解だよ。BとCの下にある二重線は“待ち合わせ場所”みたいなものなんだ。遠足で2人が集合場所に着いたら、片方が先に着いてももう片方を待つだけで、道をふさいで動けなくなるわけじゃないよ。だからABCやACBの順で1回進んでデッドロック、とはならないんだ。
選択肢イ
不正解だよ。ABまたはACまで進んだ時点では、BかCの片方が終わって待っているだけなんだ。これは友だちを集合場所で待っている状態であって、お互いに鍵を持ち合って動けない“デッドロック”ではないよ。もう片方も終われば、普通に次へ進めるよ。
選択肢ウ(正解)
これが正解だよ。最初にAを1回やったあと、BとCは並んで進む処理になるよ。Bが先でもCが先でもいいけど、二重線のところで“2人そろってから次へ行こう”と待ち合わせるんだ。だから、その後はBCまたはCBの組が何度も繰り返される動きになるよ。
選択肢エ
不正解だよ。Bだけ、またはCだけが勝手にぐるぐる回り続けるわけではないんだ。二重線があるので、たとえばBが先に終わってもCを待つ必要があるよ。窓口で片方の書類だけ何度も出し続けるのではなく、BとCの両方がそろってから次の周回に進むイメージだよ。
出典:独立行政法人 情報処理推進機構(IPA)平成28年度春期 情報処理安全確保支援士試験 午前Ⅰ 問3(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針