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

Relational operations, Let us now talk about the relational operations: ...

Let us now talk about the relational operations: SELECT The select operation is used to select few specific record from the database based on different criteria, This is a un

Compare the two log based recovery schemes, Compare the two log-based recov...

Compare the two log-based recovery schemes in terms of ease of implementation and overhead cost.    Ans:  There are two types of log based recovery techniques: deferred update

Fragmentation, let us consider a table having 2200 records and the fixed si...

let us consider a table having 2200 records and the fixed size of the table to be considered as 25.then how many numbers of table is requredto perform horizontal fragmentation

Assignment topic, assume we have the following apllicationthat model sccer ...

assume we have the following apllicationthat model sccer team the games they play and the players inv each teamin the design we want to capture

Difference among a primary index and a secondary index, What is the differe...

What is the difference among a primary index and a secondary index? Primary Index: A primary index is an ordered file whose records are of fixed length along with two fields.

State the process of inheritance adjustment, Inheritance Adjustment As...

Inheritance Adjustment As in object oriented analysis and design terms inheritance defines a relationship between classes, where as one class shares structure or behaviour def

Explain how the object classes are mapped to tables, Explain how the object...

Explain how the object classes are mapped to tables. Each object class maps to one or more than one tables in the database. The objects in the class may be partitioned horizont

What are the drawbacks of shadow-paging technique, What are the drawbacks o...

What are the drawbacks of shadow-paging technique? The drawbacks of shadow paging is:- a) Commit Overhead b) Data fragmentation c)  Garbage collection

Define 1 nf normal form, 1 NF Normal Form The domain of attribute must...

1 NF Normal Form The domain of attribute must add only atomic (simple, indivisible) values First normal form (Minimal Form or 1NF) is a normal form need in database normalizat

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