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

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

Assignment, Gyan Gurukul is a software company that provides software relat...

Gyan Gurukul is a software company that provides software related solution. Ashutosh Dubey who is the director of Gyan Gurukul want a three-level schema architecture for the Gyan G

Why do you go for sorting your query results, Why do you go for sorting you...

Why do you go for sorting your query results? SQL SELECT command to fetch data from MySQL table. Whenever you select rows, the MySQL server is free to return them in any order

Create database for car application, The Database MySQL scripts cars_f...

The Database MySQL scripts cars_for_sale.sql and car_details.sql containing the data to use for this task have been supplied. To complete this task, you need to first create

One to many - relationship cardinality, One-to-many : An entity in A is rel...

One-to-many : An entity in A is related with any number of entities in B. An entity in B is related with at the most one entity in A. Example: Relationship between faculty and d

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

Database design and documentation, A use case diagram giving a pictorial ov...

A use case diagram giving a pictorial overview of user requirements and brief use case descriptions. As the case study contains only an outline of a business scenario, you will als

What is a data dictionary, What is a data dictionary?  A data dictionar...

What is a data dictionary?  A data dictionary is a data structure which keeps Meta data about the structure of the database i.e.  the schema of the database.

Determine the concept of process, Determine the concept of Process Pro...

Determine the concept of Process Process: A process transforms the data values. It is represented as ellipse containing a description of transformation. Each procedure has a

Money making supermarket chain problem, Consider the ER schema below for th...

Consider the ER schema below for the MoneyMaking supermarket chain problem. Translate the given ER schema into SQL CREATE TABLE statement.

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