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

Implementing a distributed database system, A distributed database is defin...

A distributed database is defined as "a collection of multiple logically interrelated database which are physically distributed over a computer network" (a) Give any three advan

Explain the concept of two-phase locking, Explain the Concept of Two-phase ...

Explain the Concept of Two-phase Locking It concerns the positions of locking and unlocking operations in each transaction.  In this protocol every transaction issue lock and u

Draw an e-r diagram and convert it to a relational schema, In an organisati...

In an organisation various projects are undertaken. Each projects can employ one or more employees. Every employee can work on one or more projects. Each project is undertaken on

State the technique for converting a state diagram to code, Q. State the Te...

Q. State the Technique for converting a state diagram to code. i) Identify the major control path. Starting with first state, find the path from diagram that corresponds

Prepare entity relationship diagram for models your design, This project re...

This project requires you to perform a systems analysis and then design a system solution using database software. Ace Auto Dealers specializes in selling new vehicles from Subaru.

What do you mean by correlated subquery, What do you mean by Correlated sub...

What do you mean by Correlated subquery? Subqueries, or nested queries, are used to bring back a set of rows to be used by the parent query. Depending on how the subquery is writ

Create a database of a motor bike racing club, You have a friend that runs ...

You have a friend that runs a motor bike club that holds racing events at various venues on weekends, on a monthly basis. Some venues are private race tracks and some are dirt trac

Multivalued attributes, For every multivalued attribute 'A', we make a new ...

For every multivalued attribute 'A', we make a new relation R that contains an attribute corresponding to plus the primary key attribute k of the relation that shows the entity typ

Seeking hr searcher, Project Description: The work is about founding the...

Project Description: The work is about founding the best skilled person for the job. I will give you the job description. Skills required are Data Entry, Database Administrat

Column constraints, Column Constraints: NOT NULL, UNIQUE, CHECK, PRIMARY K...

Column Constraints: NOT NULL, UNIQUE, CHECK, PRIMARY KEY, DEFAULT, REFERENCES, On  delete  Cascade :  Using  this  key  whenever  a  parent  row  is  removed  in  a referenced

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