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

Distributed and client server databases, Distributed And Client Server Data...

Distributed And Client Server Databases Introduction This unit tells the distributed database systems which are primarily relational and one important execution model: the

Data envelopment analysis , I need a help with my assignment of data envelo...

I need a help with my assignment of data envelopment analysis which is due for submission next week on monday the 10th Dec. Will you be able to help so that I can submit it on tim

Explain the structure of well formed formulae, Explain the structure of wel...

Explain the structure of well formed formulae in relational calculus. Ans: a. An atom is a formula b. If P1 is a formula, after that so are ¬P1 and (P1) c. If P1 and P2 a

Consistency error-database errors, Consistency error : These errors happen ...

Consistency error : These errors happen due to the inconsistent state of database caused may be due to wrong implementation of commands or in case of a transaction abort.  To overc

Explain the lock based protocol, Lock Based Protocol A lock is nothing ...

Lock Based Protocol A lock is nothing but a mechanism that tells the DBMS whether a particular data item is being used by any transaction for read/write purpose. As there are t

3NF, Winfield is a small city with a population of 22,000 with buses serves...

Winfield is a small city with a population of 22,000 with buses serves three routes in Winfield and neighboring areas. As the city’s IT director, you have been asked to set up an i

Explain how you can define an object model of a system, Explain how you can...

Explain how you can define an object model of a system. A list of terms that shall be used by end users to describe state and behaviour of objects in system.   Different use

Principles of good e-governance, Question: (a) e-Government implementa...

Question: (a) e-Government implementations normally evolve through a multi-stage process. Describe, using appropriate examples, the stages involved in an e-Government implemen

Maping constraits, #question.what is mapping constraints and types?.

#question.what is mapping constraints and types?.

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