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

What are the advantages of using a dbms, What are the advantages of using a...

What are the advantages of using a DBMS? The benefits of using a DBMS are a) Controlling redundancy b) Restricting unauthorized access c) Giving multiple user interfac

Explain trigger, What is Trigger? A trigger is a SQL procedure that ini...

What is Trigger? A trigger is a SQL procedure that initiates an action when an event (INSERT, DELETE or UPDATE) occurs. Triggers are kept in and managed by the DBMS. Triggers a

Conflicting operations in schedule, Conflicting Operations in Schedule: ...

Conflicting Operations in Schedule: The three simple ways of interleaved instruction implement of transactions T1 and T2. Please note that in the following tables the first col

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

What are the benefits of ooa technology, What are the benefits of OOA techn...

What are the benefits of OOA technology? Using OOA technology can produce many benefits, such as:  i) Reusability of code  ii) Productivity is gained through direct mappi

List the table modification commands in sql, List the table modification co...

List the table modification commands in SQL? A) Deletion B) Updates C) Insertion D) Update of a view

What is bcnf boyce-codd normal form, BCNF Boyce-Codd Normal Form A rel...

BCNF Boyce-Codd Normal Form A relation schema R is in BCNF if it is in 3NF and accepts an additional constraint that for every FD X A, X has to be a candidate key. If a relati

Explain composite attribute in sql, Explain Composite attribute in SQL ? ...

Explain Composite attribute in SQL ? Composite attribute: A composite attribute has many components, each of that is atomic or composite.

What is a project operation, What is a PROJECT operation? The project o...

What is a PROJECT operation? The project operation is a unary operation that returns its argument relation with particular attributes left out. Projection is shown by pie (π).

Explain view in rdbms, Explain view in RDBMS? View - A view is a relati...

Explain view in RDBMS? View - A view is a relation (virtual rather than base) and could be used in query expressions, which is, queries can be written by using the view as a re

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