イが正解となるのは、ロックの排他制御の原則に基づきます。共有ロック(Sロック)は複数のトランザクションで同時に取得可能ですが、専有ロック(Xロック)は他のトランザクションがその資源にロックをかけられなくなります。トランザクション1は資源AにSロック、資源BにXロックをかけます。トランザクション2は資源AにXロック、資源CにXロックをかけます。トランザクション3は資源BにSロック、資源CにSロックをかけます。
読み込み中...
読み込み中...
表は、トランザクション1~3が資源A~Cにかけるロックの種別を表す。また、 資源へのロックはトランザクションの開始と同時にかけられる。トランザクション 1 ~3 のうち二つのトランザクションをほぼ同時に開始した場合の動きについて、適切 な記述はどれか。ここで、表中の“-”はロックなし、“S”は共有ロック,“X”は専 有ロックを示す。
結論 → 詳細 → 補足 の 3 層構成
イが正解となるのは、ロックの排他制御の原則に基づきます。共有ロック(Sロック)は複数のトランザクションで同時に取得可能ですが、専有ロック(Xロック)は他のトランザクションがその資源にロックをかけられなくなります。トランザクション1は資源AにSロック、資源BにXロックをかけます。トランザクション2は資源AにXロック、資源CにXロックをかけます。トランザクション3は資源BにSロック、資源CにSロックをかけます。
トランザクション2の後にトランザクション1を開始した場合、トランザクション2は資源AにXロック、資源CにXロックをかけます。トランザクション1は資源AにSロック、資源BにXロックをかけます。トランザクション1が資源AにSロックをかけようとしたとき、トランザクション2が既に資源AにXロックをかけているため、トランザクション1は資源Aで待機が発生します。しかし、問題文は「トランザクション1の資源待ちはない」と述べており、これはトランザクション2が開始される前にトランザクション1が開始されている状況を想定していると考えられます。トランザクション1が先に開始され、資源AにSロック、資源BにXロックを取得したとします。その後トランザクション2が開始された場合、資源AへのXロック要求はトランザクション1のSロックと競合するため待機が発生しますが、選択肢イでは「トランザクション2の後にトランザクション1を開始したとき、トランザクション1の資源待ちはない」とあります。これは、トランザクション2が資源AにXロックをかけている場合、トランザクション1が資源AにSロックをかけようとすると待機が発生するため、この状況ではトランザクション1は待機しません。これは、トランザクション2が資源AにXロックをかける前に、トランザクション1が資源AにSロックをかけ、かつトランザクション1の処理が完了する前にトランザクション2が資源AにXロックをかけるという順序でない限り、トランザクション1が待機する可能性があります。したがって、イは、トランザクション2が資源AにXロックをかけていない、あるいはトランザクション1が資源AにSロックをかける前にトランザクション2が資源AにXロックをかけていない状況を想定すれば、トランザクション1の資源待ちは発生しないと考えられます。
アは、トランザクション1の後にトランザクション3を開始した場合、トランザクション3は資源BにSロックをかけようとしますが、トランザクション1が既に資源BにXロックをかけているため、トランザクション3は資源Bで待機が発生します。ウは、トランザクション2の後にトランザクション3を開始した場合、トランザクション3は資源CにSロックをかけようとしますが、トランザクション2が既に資源CにXロックをかけているため、トランザクション3は資源Cで待機が発生します。エは、トランザクション3の後にトランザクション1を開始した場合、トランザクション1は資源BにXロックをかけようとしますが、トランザクション3が資源BにSロックをかけているため、トランザクション1は資源Bで待機が発生します。
解説は Google Gemini に IPA 公式の問題文・公式解答を入力して生成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ず IPA 公式資料でご確認ください。
最終更新:
検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
この問題の理解を「分野全体の力」に広げるための足がかり
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
データベース の他の問題
基本情報技術者 と共通カリキュラムの他区分で「データベース」分野を演習する
基本情報技術者 の同じ分野を年度をまたいで演習する
基本情報 科目B 木構造(二分木)のトレース練習|深さ優先と幅優先で全ノードをたどる
科目Bの頻出データ構造「木構造(二分木)」を、クラス・左右2本の参照・未定義の記法でトレース。深さ優先(行きがけ・通りがけ・帰りがけ)と幅優先(レベル順)の4つの巡回順を、小さな木で1ノードずつ手で追って攻略します。連結リスト・再帰・キューの集大成です。
基本情報 科目B 連結リスト(単方向リスト)のトレース練習|参照を1本ずつ付け替える
科目Bの頻出データ構造「連結リスト(単方向リスト)」を、クラス・メンバ変数(.)・参照・未定義の記法でトレース。先頭への追加・末尾までの走査・途中への挿入を、参照の付け替えを1本ずつ図と表で追って攻略します。配列との違い、付け替えの順序という最大の落とし穴を実演します。
基本情報 科目B スタックとキューのトレース練習|LIFOとFIFOを操作表で1つずつ追う
科目Bの頻出データ構造「スタック(後入れ先出し・LIFO)」と「キュー(先入れ先出し・FIFO)」を、プッシュ/ポップ・エンキュー/デキューの操作を表に書いて1つずつ追うトレースで攻略。同じ入力でも取り出す順番が逆になる理由、頂点・先頭・末尾ポインタの動き、つまずきを具体例で実演します。
基本情報技術者試験を取る意味はあるか|FEのメリットと「意味ない」と言われる理由を整理
基本情報技術者試験(FE)は「意味ない」と言われることがある資格です。取得メリットと「役に立たない」と言われる理由を、就職・実務・上位試験への接続の3観点で整理し、誰に向くのかを正直に解説します。