Which of the following concurrency control protocols ensure both conflict serializability and freedom from deadlock?
strict 2PL and rigorous 2PL both produce strict schedule so by the definition both will be recoverable . where as conservative 2PL may produce cascading (means not cascadeless) schedule .
must read given link
one more point : deadlock has been taken care by locking strategy but cascading is care by unlocking strategy.
Timestamp Based Ordering Protocol is :
Two phase locking ensures conflict serializable schedules, but does not ensure freedom from deadlock.
One the other hand, Timestamp ordering protocol ensures freedom from deadlock but does not ensure conflict serializable schedules.
ensure = every schedule is conflict serializable. Hence the answer is D
Additional info: Tree based protocol ensures both, freedom from deadlocks and conflict serializable schedule.
The timestamp-ordering protocol guarantees serializability since
all the arcs in the precedence graph are of the form one node to other thus there will be no cycle in the graph.
In TO protocol if any conflict pair does not follow the order then it is rollback , because we consider conflict action so schedule must conflict serializable.
so option B correct
Timestamp ordering protocol
2 Phase Locking (2PL) is a concurrency control method that guarantees serializability. The protocol utilizes locks, applied by a transaction to data, which may block (interpreted as signals to stop) other transactions from accessing the same data during the transaction’s life. 2PL may be lead to deadlocks that result from the mutual blocking of two or more transactions. See the following situation, neither T3 nor T4 can make progress.
Timestamp-based concurrency control algorithm is a non-lock concurrency control method. In Timestamp based method, deadlock cannot occur as no transaction ever waits.