Latihan Pekan 13
Latihan Pekan 13
Exercise
1. Add lock and unlock instructions to transactions T1 and T2 so
that they observe the two-phase locking protocol.
2. Can the execution of these transactions result in a deadlock?
T1 T2
Lock-S (A)
Lock-X (B)
Growing Phase
Read (A)
Read (B)
If A=0 then B := B+1
unlock (z)
lock-s (z)
read (z)
unlock (z)
lock-s (y)
read (y)
unlock (y)
lock-s (x)
read (x)
... ... ... ...
T1 T2
lock-X (Q)
read (Q) 1. Analisis schedule , Apakah terjadi
lock-S (P) deadlock pada schedule tersebut?
lock-S (P)
Ya, jelaskan pada bagian mana kondisi
read (P )
read (P)
deadlock terjadi! Bagaimana cara mengatasi
lock-X (Q) deadlock tersebut!
lock-S (R ) Tidak, jelaskan proses pengaturan
lock-S (R ) concurrent transactions yang terjadi pada
write (Q) schedule di atas!
2 unlock (Q)
read (R )
lock-X (R )
unlock (P)
write (R )
read (R )
lock-X (P)
unlock (R )
write (Q)
unlock (P)
unlock (Q)
unlock (R )
unlock (P)
T1 T2
Read (X)
Write (Y)
a. Buatlah schedule yang menerapkan
Read (Y)
strict two-phase locking protocol pada
Read (X)
schedule Tx!
Write (X)
Write (X)
b. Apakah mungkin terjadi deadlock pada
schedule yang sudah Anda buat?
Read (X)
Read (Z) c. Jelaskan keterpenuhan strict two-
3 Write (Z) phase locking protocol pada schedule
Write (Y) yang sudah Anda buat!
Write (Z)
Read (Y) d. Buktikan apakah schedule yang sudah
Write (X) Anda buat memungkinkan/tidak
Read (X) memungkinkan terjadinya deadlock!
Write (X)
Read (X)