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

Explain object oriented model, Explain Object oriented Model ? Object ...

Explain Object oriented Model ? Object Oriented Model - This model is based on the object-oriented programming language paradigm. It involves the features of OOP such as inhe

Determine the operation that do not participate to be union, 1. Which relat...

1. Which relational algebra operations do not need the participating tables to be union-compatible? Ans: Join is the relational algebra operations that do not need the particip

List the requirements needed to design a trigger, List the requirements nee...

List the requirements needed to design a trigger. The requirements are:- Specifying when a trigger is to be implemented. State the actions to be taken when the trigger im

What is serializability, What is serializability? Explain its types? Th...

What is serializability? Explain its types? The data base system must control concurrent implementation of transactions, to ensure that the data base state remains consistent.

Explain the functions of data manager, Explain the functions of data manage...

Explain the functions of data manager? Functions of Data Manager : - Convert operations in user's queries coming directly through query processor or indirectly in an applicatio

Conversion of er diagram to relational database, Conversion of entity sets:...

Conversion of entity sets: I)   For  every  strong  entity  type  E  in  the  ER  diagram,  we  make  a  relation  R containing all the easy attributes of E. The relation R pri

What is specialization, What is Specialization? Specialization: Special...

What is Specialization? Specialization: Specialization permits you to describe new types of information (new structural types or latest domains of information), although reusin

Define the terms - physical schema and logical schema, Define the terms  1)...

Define the terms  1) physical schema 2) logical schema.  Physical schema:  The physical schema explains the database design at the physical level, which  is  the  lowest  lev

Organize the clients from email marketing, Function requirement as given: ...

Function requirement as given: 1> manage fans and likes and followings those information from facebook. twitter. google+ and linkedin etc 2> Organize the clients from email m

Define upgrade and downgrade, Define upgrade and downgrade? It gives a ...

Define upgrade and downgrade? It gives a mechanism for conversion from shared lock to exclusive lock is called as upgrade. It gives a mechanism for conversion from exclusive

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