Conversions and Lock management pragmatics

Conversions:

A transaction might re-request the similar resource for several reasons: Possibly it has forgotten that it previously has access to the record; subsequent to all, if it is setting several locks it may be simpler to just always request access to the record rather than first asking itself ‘have I seen this record before’. The lock manager has every the information to answer this question and it seems wasteful to duplicate. On the other hand the transaction may know it has access to the record however wants to increase its access mode (for example from S to X mode if it is in a read, test and sometimes update scan of a file). Therefore the lock manager must be prepared for re-requests by a transaction for a lock. We entitle such re-requests conversions.

While a request is found to be a conversion the old (granted: node of the requestor to the resource as well as the newly requested mode are compared using table showwn below to compute the new mode which is the supreme of the old and the requested mode.

Table: The new mode specified the requested and old mode.

1208_old mode.jpg

So for illustration if one has Ix mote and requests S mode then the new mode is SIX.

If the new mode is equivalent to the old mode (note it is never less than the old mode) then the request can be granted immediately and the granted mode is unchanged. If the new mode is well-matched with the group mode of the other members of the granted group (a requestor is forever compatible with himself), then once more the request can be granted immediately. The granted mode is the new mode as well as the group mode is recomputed. In all other cases the requested conversion should wait until the group mode of the other granted requests is compatible with the new mode. Note that this instantaneous granting of conversions over waiting requests is a minor violation of fair scheduling.

If two conversions are waiting all of which is incompatible with an already granted request of the other transaction then a deadlock exists as well as the already granted access of one must be pre-empted. Or else there is a way of scheduling the waiting conversions: namely, grant a conversion when it is compatible with each other granted nodes in the granted group. (As there is no deadlock cycle this is always possible.)

The following example may perhaps help to clarify these points. Assume the queue for a particular resource is:

838_simple queue.jpg

Figure: A simple queue.

Now assume the first transaction wants to convert to X mode. It should wait for the second (already granted) request to leave the queue. If it decides to wait afterwards the situation becomes:

585_conversion to x mode.jpg

Figure: A conversion to X mode waits.

No new request may perhaps enter the granted group since there is now a conversion request waiting. Generally conversions are scheduled before new requests. If the second transaction now converts to IX, SIX, or S mode it perhaps granted immediately since this doesn’t conflict with the granted (IS) mode of the first transaction. When the second transaction ultimately leaves the queue the first conversion can be made:

1959_transaction leaves.jpg

Figure: One transaction leaves as well as the conversion is granted. Nevertheless if the second transaction tries to change to exclusive mode one obtains the queue:

1584_conflicting conversions.jpg

Figure: Two conflicting conversions are waiting.

Ever since X is incompatible with IS. This circumstance implies that each transaction is waiting for the other to leave the queue (that is deadlock) and so one transaction must be pre-empted. In every other case (that is when no cycle exists) there is a way to schedule the conversions therefore that no already granted access is violated.

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.