Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Câu 1:

a)

- Dòng (1, 4): Vẽ T1 -> T3


- Dòng(1, 5): Vẽ T1 -> T2
- Dòng (4, 5): vẽ T3 -> T2
Do đồ thị không có chu trình nên lịch S khả tuần tự theo lịch T1->T3->T2->T4
b)

T1 T2 T3 T4 A B C
TS = 100 TS = 200 TS = 300 TS = 50 RT(A) = 0 RT(B) = 0 RT(C) = 0
WT(A) = 0 WT(B) = WT(C) = 0
0
1 R(A) RT(A)=100
WT(A)=0
2 R(B) RT(B)=20
0
WT(B)=0
3 W(A) RT(A)=100
WT(A)=20
0
4 W(A) RT(A)=100
WT(A)=30
0
5 R(B) RT(B)=20
0
WT(B)=0
6 W(C) RT(C)=0
WT(C)=100
7 R(C) ROLLBAC
K

1. WT(A) <= TS(T1) : T1 đọc được A


2. WT(B) <= TS(T2) : T2 đọc được B
3. RT(A) <= TS(T2) , WT(A) <= TS(T2) T2 ghi được A
4. RT(A) <= TS(T3), WT(A) <= TS(T3) T3 ghi được A
5. WT(B) <= TS(T4) T4 đọc được B
6. RT(C) <= TS(T4), WT(C) <= TS(T4) T1 được C
7. WT(C) > TS(T4) ROLLBACK
c)

S1 T1 T2 T3 T4 A0 A1 A2 B0 C0 C1
(TS=1 (TS=2 (TS=3 (TS=5 RT(A)= 0 RT(B)= 0 RT(C)=0
00) 00) 00) 0) WT(A)=0 WT(B)=0 WT(C)=
0
1 R(A) RT(A)=1
00
WT(A)=0
2 R(B) RT(B)=20
0
WT(B)=0
3 W(A) RT(A)=0
WT(A)=
200
4 W(A) RT(A)=0
WT(A)=
300
5 R(B) RT(B)=20
0
WT(B)=0
6 W(C) RT(C)=0
WT(C)=
100
7 R(C) RT(C)=5
0
WT(C)=
0

Câu 2)
a)
(1) : W4(A) chờ R1(A) => T4 -> T1
(2) : W3(C) chờ R2(C) => T3 -> T2
(3) : W2(B) chờ W1(B) => T2 -> T1
(4) : W1(D) chờ R3(D) => T1 -> T3

Vì đồ thị waits-for có chu trình nên lịch S2 có xảy ra deadlock.


b)
Giải pháp giải quyết deadlock: ta cần hủy đi giao tác có nhiều cung nhất đó là giao tác T1.
Sau khi hủy T1: A và B được giải phóng.
+ T2->T3->T4:
-T2 nhận khóa B, thực hiện xong nhả khóa C.
-T3 nhận khóa C
-T4 nhận khóa A.

+T4->T2->T3:
-T4 nhận khóa A.
-T2 nhận khóa B, thực hiện xong nhả khóa C
-T3 nhận khóa C.
c)

You might also like