Write modified version of transfer that avoids deadlock, Database Management System

Assignment Help:

Your OS has a set of queues, each of which is protected by a lock. To enqueue or dequeue an item, a thread must hold the lock associated to the queue.

You need to implement an atomic transfer routine that dequeues an item from one queue and enqueues it on another. The transfer must appear to occur atomically.

This is your first attempt:

void transfer(Queue *q1, Queue *q2) {

Item thing; /* the thing being transferred */

q1->lock.Acquire(); thing = q1->Dequeue(); if (thing != NULL){

q2->lock.Acquire(); q2->Enqueue(thing); q2->lock.Release();

} q1->lock.Release()

You may assume that q1 and q2 never refer to the same queue. Also, assume that you have a function Queue::Address that takes a queue and returns, as an unsigned integer, its address in memory.

a. Explain how using this implementation of transfer leads to deadlock; b. Write a modified version of transfer that avoids deadlock and does the transfer atomically; c. If the transfer does not need to be atomic, how might you change your solution to achieve a higher degree of concurrency? Justify how your modification increases concurrency.


Related Discussions:- Write modified version of transfer that avoids deadlock

What is view in sql, What is view in SQL? How is it defined? Any relati...

What is view in SQL? How is it defined? Any relation that is not part of the logical model, but is made visible to a user as a virtual relation is known as a view. We descri

Attribute preservation, Attribute Preservation This is a easy and obvio...

Attribute Preservation This is a easy and obvious necessity that includes preserving all the attributes that were there in the relation that is being decomposed.

Describe the major steps in the implementation process, Question: (a) ...

Question: (a) One of the steps in the five-step problem-solving model is implementation. Implementation is considered a key step in the problem-solving model. A problem may be

What is the disadvantage of a call by reference, What is the disadvantage o...

What is the disadvantage of a call by reference? During a call by reference damage or loss of data is not restricted to the subroutine, but will instantly lead to alters to th

Modular growth, Modular growth: In distributed environments, it is simple t...

Modular growth: In distributed environments, it is simple to expand. Latest sites can be added to the network without affecting the operations of other sites, as they are somewhat

Physical model of traffic data management, After the completion of the logi...

After the completion of the logical model the physical model is to be made. The oracle 10 G will be used as a database server and all the tables with their column are created and i

Define the terms ddl and dml, Define the terms i) DDL ii) DML DDL: Data...

Define the terms i) DDL ii) DML DDL: Data base schema is particular by a set of definitions expressed by a special language known as a data definition language. DML: A data

Incident report to the database, The Form input elements are:           ...

The Form input elements are:             Reporter name                                                text type input             Password

Authorisation, Authorisation Authorisation is the culmination of the ad...

Authorisation Authorisation is the culmination of the administrative policies of the organisation.  As the name shows, authorisation is a set of rules that can be used to verif

Improve efficiency of database, Smart Alex Catering Sevice (SACS) is a comp...

Smart Alex Catering Sevice (SACS) is a company offering top class catering staff  for prestigious events.  The company employs approximately 200 hourly paid contact staff - chefs,

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd