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

relationship with the owner entity, A database for the Service and Mainten...

A database for the Service and Maintenance (SM) section of a Computer sales and service Company has to be developed. SM gives after sales service to customers. SM branch has a numb

Having clause with sub queries, Having Clause with sub queries: First we h...

Having Clause with sub queries: First we have to recollect the GROUP BYclause. The following query searches the minimum salary in every department. SELECT DEPTNO, MIN (SAL)

Create a database for store company details, You group has been hired by  T...

You group has been hired by  TrainingrUs.com to keeps track of training revenues. TrainingrUS.com wants you to keep scheduling. COURSE table contains following information:

Relation instance or relation state, A relation instance indicates as r is ...

A relation instance indicates as r is a collection of tuples for a given relational schema at a exact point of time. A relation state r of the relation schema R (A 1 ,A 2 ,.....

Relationship between security and integrity, Relationship between Security ...

Relationship between Security and Integrity: Database security usually refers to access, while database integrity refers to avoidance of accidental loss of consistency. But usually

What is object oriented model, What is Object Oriented model? This mod...

What is Object Oriented model? This model is based on collection of objects. An object has values stored in instance variables with in the object. An object also having bodies

Determine the benefits of object oriented design, Determine the benefits of...

Determine the benefits of Object oriented design OOD also gives reusability, which saves time, costs and productivity gains through direct mapping to properties of Object-Orie

Demonstrate the uml model, Demonstrate the UML model Using UML, it is p...

Demonstrate the UML model Using UML, it is possible to generate code in any of the programming language from UML model (called forward engineering) and rebuild a model from an

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

What creates while a primary key is combined with a foreign, What it create...

What it creates while a primary key is combined with a foreign key? It creates Parent-Child relation ship between the tables that connect them while a primary key is combined w

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