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

Define object oriented model, Object Oriented model :An object has values...

Object Oriented model :An object has values stored in instance variables within the object. An object also has bodies of code that execute on the object. These bodies of code are

Prove that a relation which is 4nf must be bcnf, Prove that a relation whic...

Prove that a relation which is 4NF must be BCNF.   Ans Let R be in 4NF.  Suppose it is not in BCNF.  Hence, there exists an FD X→Y in R such that x is not a super key. Although

Define query by example, Define Query by Example QBE is a query languag...

Define Query by Example QBE is a query language relies upon domain calculus and has two dimensional syntax. The queries are written in the horizontal and vertical dimensions of

Explain the weak entity set, Explain the Weak Entity Set An Entity set...

Explain the Weak Entity Set An Entity set which does not have sufficient attribute to make a primay key is known as weak entity set. For instance, dependents of an employee in

Create a technology web server, Database design Database tables will be...

Database design Database tables will be created for you on the Technology web server. The schema will be as follows. Please note that this is a simplified database structure, d

Define the terms entity, Define the terms entity, attribute, role and relat...

Define the terms entity, attribute, role and relationship between the entities, giving examples for each of them.         Ans: Entity:   An entity is a "thing" or "object" in th

What are composite objects, What are composite objects? Objects that ha...

What are composite objects? Objects that have other objects are known as complex objects or composite objects.

What are the issues are formed while selecting a database, What are the Iss...

What are the Issues when Selecting a Database Issues when Selecting a Database Storage space requirement: A database requires about triple storage space of the actua

Describe queries with complex types, Describe queries with complex types? ...

Describe queries with complex types? The present extension of the SQL query language deal with the complex type Let us start with the simple example: Find the title and t

Explain the exists and unique functions of sql, Explain the EXISTS and UNIQ...

Explain the EXISTS and UNIQUE functions of SQL. Give an example for each? EXISTS: The EXISTS function takes one parameter that is a SQL statement. If any records exist which

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