Locking, Transaction back-up and system recovery

Locking, Transaction back-up and system recovery:

To repeat there is no nice formal model of recovery (Lampson as well as Sturgis have a model in their forthcoming CACM paper on two-phase commit processing however the model in the version I saw was rather vague.) Here we will limp beside with a (even morevaguer model.

A transaction T is said to be recoverable if it is able to be undone before EOT without undoing other transactions' updates. A transaction T is supposed to be repeatable if it will reproduce the original output if rerun following recovery assuming that no locks were released in the backup process. Recoverability requires update locks be supposed to commit point. Repeatability needs that all transactions observe the consistency lock protocol.

The normal (that is trouble free) operation of a data base system can be described in terms of an initial consistent state S0 and a schedule of transactions mapping the data base into a final consistent state S3 (see Figure). S1 is a checkpoint state ever since transactions are in progress, S1 may be inconsistent. A system crash departs the database in state S2. Since transactions T3 as well as T5 were in progress at the time of the crash and S2 is potentially inconsistent. System recovery amounts to conveying the database to a new consistent state in one of the following ways:

(a) Starting from state S2 undo each actions of transactions in-progress at the time of the crash.

(b) Starting from state S1 first undo each actions of transactions in progress at the time of the crash (that is actions of T3 before S1) as well as then redo all actions of transactions that completed after S1 as well as before the crash (that is actions of T2 and T4 after S1.)

(c) Starting at SO redo all transactions that completed prior to the crash.

Examine that (a) and (c) are degenerate cases of (b).

1906_degenerate cases.jpg

 
Figure: System states therefore are initial state S1 is checkpoint state, S2 is a crash as well as S3 is the state that results in the absence of a crash.

If some transaction doesn’t hold update locks to commit point then:

a) Undoing the transaction may perhaps deadlock (for the reason that undo must reacquire the locks in order to perform undo.)

b) Undoing a transaction may perhaps loose updates (for the reason that an update may have been applied to the output of the undone transaction but backup will restore the entity to its original value.)

Therefore backup may perhaps cascade backing up one transaction may require backing up another. (Randall calls this the domino effect.) If for illustration T3 writes a record r as well as then T4 further updates r then undoing T3 will cause the update of T4 to r to be lost. This situation is able to only arise if some transaction does not hold its write locks to commit point. For these reasons each known data management systems (which support concurrent updaters) require that all transactions hold their update locks to commit point.

Alternatively:

If all the transactions hold each update locks to commit point then system recovery loses no updates of complete transactions. Nevertheless there may be no schedule that would give the same result for the reason that some transactions may have read outputs of undone transactions (dirty reads).

If all the transactions examine the consistency lock protocol then the recovered state is consistent and derives from the schedule obtained from the original system schedule by deleting incomplete transactions Note that consistency prevents read dependencies on transactions which might be undone by system recovery. The schedule acquired by considering only the actions of completed transactions produces the recovered state.

Transaction crash gives increase to transaction backup that has properties analogous to system recovery.

Latest technology based Operating System Online Tutoring Assistance

Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Operating System help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Operating System, project ideas and tutorials. We provide email based Operating System help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Operating System. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Operating System Homework help and assignment help services. They use their experience, as they have solved thousands of the Operating System assignments, which may help you to solve your complex issues of Operating System. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.