Professional Documents
Culture Documents
CSDL
CSDL
S1: R2(C), R1(A), R1(C), R3(A), R3(B), R2(B), W2(C), W1(A), W3(B), W2(B), R1(B), R2(A), R3(C).
a. Cho biết S1 có khả tuần tự hay không? Tính A, B,C khi lịch S1 thực hiện xong, biết giá trị ban
đầu A=2,
S1 B= -1, C=1. và W1(A): A=C-A; W2(C): C=B-2C;
T1 T2 T3 W2(B): B= -2C; W3(B): B=2+B. Cho Ri,Wi thuộc Ti
Rc b. Viết lại các Transaction trên thỏa nghi thức khóa 2 pha.
Ra c. Lập 1 lịch S2 // (phi tuần tự) từ câu 2.
Rc
Ra
Rb
Bài làm (tham khảo)
Rb
a. Viết lại S1 như sau (cho dễ nhìn)
Wc
Wa
Wb + Các cặp xung đột:
Wb P1: (R1c;W2c)
Rb P2: (R3a;W1a)
Ra P3: (R3b;W2b)
P4: (R2b;W3b)
P5: (W1a;R2a)
P6: (W3b;W2b)
P7: (W3b;R1b)
P8: (W2b;R1b)
--------------------
Bài giải (tham khảo)
a. Đồ thị
Giải thích: Tại thời điểm t1, Trans T3 start và commit tại thời điểm t5 trước checkpoint, tương
tự có T2.
T1 được start chưa commit thì xảy ra lỗi. T4, T5 start sau checkpoint nhưng cũng commit tại t7,
t10. Còn lại T6 chưa commit.
b. Danh sách
DS0 {T2, T3} đã commit trước checkpoint
DS1 {T4, T5} đã commit sau checkpoint. (lấy giá trị mới)
DS2 {T1, T6} chưa commit. (trả về giá trị cũ)
c. Tính
T3 ghi 11 -> E
T3 ghi 1 -> A
T2 ghi -16 -> B
T4 ghi 3 -> C
T5 ghi 0 -> D
T5 ghi 5 -> A
Do T1, T6 không ghi vào biến nào nên không có biến nào dc undo.
Vậy A=5, B=-16, C=3, D = 0
** Chú ý:
Giả sử đề thay đổi dòng cuối cùng
S, T6
W, T6, A, 1, 5
Thì T6 ghi 5 -> A nhưng do undo nên A = 1