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

BCA, Ask qu. Write a XML with database with book details (Book ID, Title, A...

Ask qu. Write a XML with database with book details (Book ID, Title, Author, subject, published year, language, vendor, and price).estion #Minimum 100 words accepted#

Describe the primary key functions, Describe the primary key functions? ...

Describe the primary key functions? Primary Key : The primary key is an attribute or a set of attributes in which uniquely identify a specific example of an entity. Every entit

What are the features of embedded sql explain, What are the features of emb...

What are the features of embedded SQL? Explain. Embedded SQL - SQL could be implemented within two ways. It can be used interactively or embedded in a host language or throu

Define single valued and multivalued attributes, Define single valued and m...

Define single valued and multivalued attributes. Single valued attributes: attributes with a single value for a particular entity are known as single valued attributes. Mult

Distributed transaction atomic-consistent-isolated, A distributed transacti...

A distributed transaction consists of subtransactions that execute at different sites and access local DBMSs at those sites. For example, a distributed transaction that transfers m

Explain weak and strong entity type, Explain weak and strong entity type ? ...

Explain weak and strong entity type ? Weak and Strong entity type: An entity set which does not have a primary key is referred to as a weak entity set. The existence of a wea

OLD HOME POLICIES, Write an sql statement to find what is the percentage of...

Write an sql statement to find what is the percentage of home policies which are from the state of Arizona out of all Home policies by Policy Value.

Ans the following, discuss the array implementation of a stack.

discuss the array implementation of a stack.

What is olap, What is OLAP? OnLine Analytical Processing (OLAP) is a Bu...

What is OLAP? OnLine Analytical Processing (OLAP) is a Business Intelligence (BI) reporting system. OLAP gives the user with the capability to sum, count, average and do other

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