Lamport's logical clock



In a database system, unique timestamps are assigned to each transaction using Lamport's logical clock. Let TS(T1) and TS(T2)be the timestamps of transactions T1and T2 respectively. Besides, T1holds a lock on the resource R, and T2 has requested a conflicting lock on the same resource R. The following algorithm is used to prevent deadlocks in the database system assuming that a killed transaction is restarted with the same timestamp.

                                      if TS(T2)<TS(T1)then

                                              T1 is killed

                                      else T2waits.

Assume any transaction that is not killed terminates eventually. Which of the following is TRUE about the database system that uses the above algorithm to prevent deadlocks?

(A) The database system is both deadlock-free and starvation-free.

(B) The database system is deadlock-free, but not starvation-free.

(C) The database system is starvation-free, but not deadlock-free.

(D) The database system is neither deadlock-free nor starvation-free.