백업/정보컴퓨터

[정보][DB][트랜잭션] 2019-A-14 트랜잭션

Unknown9 2021. 2. 4. 20:49
반응형

 

이미 직렬가능한지에 대한 정의가 서술 되어 있다.

 

(1) T2가 T1과 동시 처리되면서 연산 ⓑ는 구간 ㉠에서, 연산 ⓒ는 구간 ㉢에서 수행될 때, T1과 T2에 대한 스케줄이 ‘직 렬 가능’한지 여부를 쓸 것.

 

ⓑ read(Y)

구간 ㉠은 read(Y)와  write(Y) 사이의 구간이다. 읽어 들인 Y값의 변화는 없다.
ⓒ read(Z)

구간 ㉢은 read(Z)와 write(Z)사이의 구간이다. 읽어 들인 Z값의 변화는 없다.

직렬가능하다.

 

(2) T2가 T1과 동시 처리되면서 연산 ⓑ는 구간 ㉡에서, 연산 ⓒ는 구간 ㉢에서 수행될 때, T1과 T2에 대한 스케줄이 ‘직

렬 가능’한지 여부를 쓸 것.

 

ⓑ read(Y)

구간 write(Y)와 read(Z) 사이의 구간이다. Y의 값이 이미 Y:=Y+X 가 write되어 T2와 T1값의 차이가 있다.
ⓒ read(Z)

구간 ㉢은 read(Z)와 write(Z)사이의 구간이다.

 

직렬 불가능하다.


(3) T3이 T1과 동시 처리되면서 연산 ⓕ가 구간 ㉢에서 수행된다고 가정할 때, 연산 ⓓ와 ⓔ가 수행되는 구간에 따라 ‘직렬가능’한 T1과 T3에 대한 스케줄이 존재하는지 여부와 그 이유를 쓸 것.

 

3번은 순서를 잘 못봤네요. 결국 ⓕ read(Y)가 구간 ㉢에 실행 된다는 것은 read(Z)를 그 앞 구간에 넣어야 한다는 것인데, 그렇게 는 형성이 되지 않는다?

 

답안을 보면, T3의 read(Z)가 어느 구간에 수행해도 T3->T1의 간선이 형성되기 때문에 T1->T3->T1의 사이클이 존재 직렬 가능 스케쥴은 존재하지 않음.

 

이 부분은 좀더 공부를 해봐야겠습니다.

 

선형 그래프에 사이클이 없으면 스케줄 S는 직렬가능하고. 스케줄 S가 직혈가능하면 선행 그래프에 사이클이 없다.(스케줄 S가 직렬가능한 것은 선행 그래프에 사이클이 없다는 것의 필요충분조건이다.)

 

 

 

 

 

반응형