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 a database, What is a database? At any given time, they're sto...

What is a database? At any given time, they're storing a tremendous amount of information - inventory, in the case of Amazon, messages and interrelationships in the case of Tw

Dealing with constraints violation, If the deletion violates referential in...

If the deletion violates referential integrity constraint, then three alternatives are available: Default option: - refuse the deletion. It is the job of the DBMS to describ

What are the disadvantages of file processing system, What are the disadvan...

What are the disadvantages of file processing system? The drawbacks of file processing systems are a) Data redundancy and inconsistency b) Complexity in accessing data

Data base model, why are older data base model are being replaced by new da...

why are older data base model are being replaced by new data model

Name the metrics for selecting top algorithm, Name the metrics for selectin...

Name the metrics for selecting top algorithm There are a number of metrics for selecting top algorithm: i) Computational complexity: Computational complexity refers to eff

Explain the dynamic hashing techniques, Explain the Dynamic Hashing Techniq...

Explain the Dynamic Hashing Techniques There are two methods in it: extendible hashing - stores an access structure in addition to the file, and therefore is somewhat identica

3-schema architecture, Gyan Gurukul is a software company that provides sof...

Gyan Gurukul is a software company that provides software related solution. Ashutosh Dubey who is the director of Gyan Gurukul want a three-level schema architecture for the Gyan G

Domain constraints, Domain Constraints Domain constraints are primarily...

Domain Constraints Domain constraints are primarily formed for defining the logically correct values for an attribute of a relation. The relation allows attributes of a relatio

Explain the disadvantages of a file processing system, Explain the disadvan...

Explain the disadvantages of a file processing system? Ans: Disadvantages of File Processing Systems include: 1) Data Redundancy 2) Data Inconsistency 3) Difficult to acce

Approachs of database management system, The Database Approach In ord...

The Database Approach In order to overcome the limits of a file system, a new approach was needed. Hence a database approach emerged. A database is a persistent collection of

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