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

Database design in third normal form, The following data are required to be...

The following data are required to be stored by a family physician. Family#, FamilyAddress, Patient#, PatientName, ServiceCode, ServiceFee, ServiceDate A family can have seve

How to rearrange the execution order for efficiency, Rearrange the Executio...

Rearrange the Execution Order for Efficiency  Rearranging execution order for efficiency means executing such job that requires less execution time. By rearranging the object

What is entity in dbms, What is entity in DBMS? Entity: A DBMS entity i...

What is entity in DBMS? Entity: A DBMS entity is either a thing in the modelled world or a drawing element in an ERD.

Develop a team database, I need a professional to prepare a database to co...

I need a professional to prepare a database to collect and store basic information. The information can be basic info such as contact details etc. One requirement i have is f

Relation and relational schema, A relation has: Relational Schema ...

A relation has: Relational Schema Relation instance Relational Schema: A relational schema shows the relation's name, its attributes and the domain of every a

Explain the aggregation implies concurrency, Explain the Aggregation implie...

Explain the Aggregation implies concurrency Concurrency actually is: This in objects can be identified by the way they change state. Present objects can change state independen

Central database schema, Consider an information system designed for an onl...

Consider an information system designed for an online company which provides IT products and services. These include desktops, laptops, networking products, IT books, parts, and te

Many-to-many relationship, Many-to-many : Entities in A and B are related w...

Many-to-many : Entities in A and B are related with any number of entities from each other. Example: Taught_by Relationship among course and faculty. One faculty member ca

Oracle, List and explain the memory constructs of the Oracle 12c databases?...

List and explain the memory constructs of the Oracle 12c databases?

Issues relating to the design of the physical database files, The issues re...

The issues relating to the Design of the Physical Database Files Physical File is a file as stored on the disk. The major issues relating to physical files are:  •      Cons

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