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

Oracle, I have 10+ yrs exp in oracle Sql ,Pl/SQl,Forms ,Reports. I am exper...

I have 10+ yrs exp in oracle Sql ,Pl/SQl,Forms ,Reports. I am expert in assignements & Online tutoring so i want to join you. Please guide me. Thanks Brajesh Shukla +91 9899641535

Define instance and schema, Define instance and schema?  Instance:  C...

Define instance and schema?  Instance:  Collection of  data  kept in the  data  base  at  a  particular  moment  is  known as an Instance of the database.  Schema: The o

Read-set(t) and timestamps-optimistic concurrency contents, read-set(T) : E...

read-set(T) : Each data items that are read by a transaction T Timestamps : for all transaction T, the start-time and the end time are reserved for all the three phases.

Explain controlled redundancy, Explain controlled redundancy? Controll...

Explain controlled redundancy? Controlled redundancy : The replication of data within the data warehouse for the purposes of improved data access or understand ability.

Describe the functions and features of foreign key, Describe the functions ...

Describe the functions and features of foreign key? Foreign Key : The primary key of one file or table that is implanted in another file or table to implement the relationships

Differentiate between static hashing and dynamic hashing, Differentiate bet...

Differentiate between static hashing and dynamic hashing.  Ans: Static Hashing comprises the number of primary pages in the directory fixed. So, while a bucket is full, we requ

Represent the form as a relational schema, Question: This form represen...

Question: This form represents one of a number used for each sailing of a range of boats. A passenger may go on many sailings and will have the same passenger number for each.

Entity relationship diagram, Ask questApollo Hospitals (AH) is a popular me...

Ask questApollo Hospitals (AH) is a popular medical service provider in Oman. AH wants to automate its business functions into an information system. The proposed information syst

Database Management System, please give me introduction to full data in D B...

please give me introduction to full data in D B M S in a short assignment

Define a view and a trigger, Define a view and a trigger. Construct a view ...

Define a view and a trigger. Construct a view for the above relations that have the information about suppliers and the elements they supply. The view holds the S#, SNAME, P# , PNA

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