모두CBT

트랜잭션 T1~T4가 다음 연산과 조건에 따라 수행하는 아래 스케줄에 … | [7급 국가직 데이터베이스론] 22년 1회차 기출문제 상세 페이지

1[7급 국가직 데이터베이스론] 22년 1회차
트랜잭션 T1~T4가 다음 연산과 조건에 따라 수행하는 아래 스케줄에 대한 설명으로 옳은 것은?
○ S(A): 데이터 A에 읽기 연산(R(A))을 위한 공용 로크(shared lock) 요청
○ X(A): 데이터 A에 쓰기 연산(W(A))을 위한 전용 로크(exclusive lock) 요청
○ 로크를 요청한 트랜잭션은 요청한 로크가 허용될 때까지 대기한다.
○ 트랜잭션이 소유한 로크는 트랜잭션이 완료될 때 해제된다.

T1T2T3T4
S(A)
R(A)
X(C)
W(C)
X(D)
W(D)
S(B)
R(B)
X(C)
X(A)
X(C)
X(B)
1
모든 트랜잭션 T1~T4가 교착상태에 빠졌다.
2
트랜잭션 T3을 철회(abort)하면 교착상태가 해결될 수 있다.
3
교착상태를 해결하기 위해 철회할 트랜잭션으로 T4를 선택하는 것이 가장 좋다.
4
트랜잭션 T2를 철회하면, 트랜잭션 T3은 C에 대한 전용 로크를 획득할 수 있다.
해설

T2를 철회하면 T3은 C에 대한 전용 로크를 획득할 수 있다는 설명이 옳다.

대기 관계(기다리는 쪽→로크 보유 쪽)는 T4→T2(C), T2→T1(A의 공용 로크), T1→T4(B의 공용 로크), T3→T2(C)이다. 사이클은 T1→T4→T2→T1이고 T3은 사이클 밖에서 대기만 한다.

T2를 철회하면 C가 해제되어 사이클이 끊기고, C를 먼저 요청한 T4가 완료되어 로크를 놓은 뒤 T3이 C의 전용 로크를 얻는다.

  • 모든 트랜잭션의 교착: T3을 기다리는 트랜잭션이 없어 T3은 교착상태에 포함되지 않는다.
  • T3 철회: T3은 사이클 밖에 있어 철회해도 T1·T2·T4의 순환 대기가 그대로 남는다.
  • T4를 희생자로 선택: T4를 철회해도 사이클은 끊기지만 T1·T2도 같은 사이클에 있어 T4가 가장 좋다고 볼 근거가 없고, T4는 가장 많은 연산을 수행해 철회 비용도 크다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 데이터베이스론] 22년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 데이터베이스론 기출문제 암기장 전체 보기