Transaction save logic:
When the transaction call up SAVE, a log record is recorded which explains the current state of the transaction. Every component involved in the transaction is then invoked, as well as it must record whatever it needs to restore its recoverable objects to their state at this point. For illustration the terminal handler might record the current state of the session so that if the transaction backs up to this point, the terminal is able to be reset to this point. Likewise database manager might record the positions of cursors. The application program may as well record log records at a save point.
A save point doesn’t commit any resources or release any locks.
Transaction commit logic:
When the transaction issues COMMIT recovery manager invokes every component (participant) to perform commit processing. The details of commit processing were explained under the topics of recovery protocols above. In brief commit is a two-phase process. During phase 1 every manager writes a log record that allows it to go either way on the transaction (undo or redo). If all resource administrators agree to commit then recovery manager forces the log to secondary storage and enters phase 2 of commit.
Phase 2 comprises of committing updates: sending messages, writing updates to non-volatile storage as well as releasing locks.
In phase 1 any resource manager is able to unilaterally abort the transaction thereby causing the commit to fail.Formerly a resource manager agrees to phase 1 commit that resource manager should be willing to accept either abort or else commit from recovery manager.
Transaction Back up logic:
The effect of any incomplete transaction is able to be undoing by reading the log of that transaction backwards undoing each action in turn. Specified the log of a transaction T:
UNDO(T):DO WHILE (LOG(T)!= NULL);LOG_RECORD = LAST_ RECORD (LOG(T));UNDOER = WHO_WROTE(LOG_ RECORD);CALL UNDOER(LOG_RECORD);INVALIDATE(LOG_RECORD);END UNDO;
Clearly this process is able to be stopped half-day thereby returning the transaction to an intermediate save point. Transaction save points allows the transaction to backtrack in case of some error as well as yet salvage all successful work.
From this discussion it follows that a transaction's log is a push down stack as well as that writing a new record pushes it onto the stack while undoing a record pops it off the stack (invalidates it). For competence reasons, all transaction logs are merged into one system log that is then mapped into a log file. However the log records of a particular transaction are threaded together as well as anchored off of the process executing the transaction.
Notice that UNDO needs that while the transaction is active, the log should be directly addressable. This is the reason that at least one version of the log must be on some direct access device. A tape-based log wouldn’t be convenient for in-progress transaction undo for this reason (tapes are not randomly accessed).
The undo logic of recovery manager is extremely simple. It reads a record looks at the name of the operation that wrote the record as well as calls the undo entry point of that operation using the record type. Thus recovery manager is table driven as well as therefore it is fairly easy to add new operations to the system.
One more alternative is to defer updates until phase 2 of commit processing. Once a transaction gets to phase 2 it should complete successfully therefore if all updates are done in phase 2 no undo is ever required (redo logic is required.) IMS data communications as well as IMS Fast Path use this protocol.
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.
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!