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

Assign, #quesDefine a job scheduling strategy that will meet business requi...

#quesDefine a job scheduling strategy that will meet business requirement of reporting availability by 6am CST for the following cubes? Show the job scheduling dependencies in a pi

What create when a primary key combined with a foreign key, What will be cr...

What will be create when a primary key if combined with a foreign key? A primary key if combined with a foreign key it creates Parent-Child relationship between the tables that

Identify all renters who have viewed all properties, Consider the subsequen...

Consider the subsequent relations RENTER(rno, fname, lname, address, tel_no, pref_type, max_rent) VIEWING(rno, pno, date, comment) PROPERTY_FOR_RENT( pno, street, area ,city,

What are object interaction diagrams, What are object interaction diagrams?...

What are object interaction diagrams? Object interaction diagrams are the diagrams that used to describe order in which messages are communicated in execution of an operation,

Data management, Develop a database broker framework to implement a persist...

Develop a database broker framework to implement a persistence mechanism for the domain objects involved in the use case dealt with in Question 2.  a. Specify the attribute type

Why containment is important in oosystems, Why containment is important in ...

Why containment is important in oosystems? Containment is an significant concept in oosystems because it allows dissimilar users to view data at different granularities.

Write short notes on relational model, Write short notes on relational mode...

Write short notes on relational model   The  relational  model  uses a  collection of  tables  to show  both data  and the relationships between those  data.  The relational mo

Determine the statement- state as location within a program, State as Locat...

State as Location within a Program In this traditional approach, location of control inside a program totally defines the program state. Any finite state machine may be implem

What is hierarchical dbms, What is Hierarchical DBMS In HDBMS, data is ...

What is Hierarchical DBMS In HDBMS, data is structured in a tree like manner. There is a parent-child relationship between data items and the data model is very suitable for re

Query optimization in database system, Problem : AirwaysCentre, an inte...

Problem : AirwaysCentre, an international airline booking company currently uses a relational database system for their operations, which includes the following relations: P

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