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 is difference between truncate and delete, What is difference between ...

What is difference between TRUNCATE and DELETE? - Truncate can't be rolled back whereas Delete can be. - Truncate keeps the lock on table whereas Delete keeps the lock on ea

Describe the algorithm to draw the dependency graph, Describe the algorithm...

Describe the algorithm to draw the dependency graph?   Ans: Algorithm to draw Precedence Graph is like this: a.  For every transaction T i participating in schedule S, make

What are decision support systems, Question: (a) What are decision sup...

Question: (a) What are decision support systems, and what role do they play in the business environment? (b) Data mining is a knowledge discovery process of automated extr

Computer, 1. Will you advise that your organization uses open source softwa...

1. Will you advise that your organization uses open source software and why? 2. Why is it important for business managers to have a basic understanding of the software development

Designing the database schema , The domain that you will model in this assi...

The domain that you will model in this assignment is that of courses and students at a university. So as not to make the task too large and unspecified, you will here get a descrip

Case snerio, each publisher has uniqe name a mial addrs are also kept on ea...

each publisher has uniqe name a mial addrs are also kept on each pubisher.a publisher publish one book.a book publish y one publisher.book identified by isbn.each book writn by one

Normalization, Process of normalization is the integral part of designing a...

Process of normalization is the integral part of designing a database. Justify this statement with suitable database design

What is conceptual schema, What is Conceptual Schema? Conceptual Schema...

What is Conceptual Schema? Conceptual Schema - Conceptual schema elaborates the structure of the overall database for a community of users. It hides the details of physical sto

Sql select employee from table with at least one department, Consider emplo...

Consider employee (e_no, e_name, e_salary, d_code), dept (d_code, d_name) and dependent (depndt_name, e_no, relation). Show the names of employees in purchase and accounts departm

Relationship, what is the relationship between receipt and owner entities i...

what is the relationship between receipt and owner entities in computer sales and service company

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