Consider a deadlock detection scheme for a single server. Describe precisely when edges are added to and removed from the wait-for-graph.
Illustrate your answer with respect to the following transactions T, U and V at the server.
When U releases its write lock on ai, both T and V are waiting to obtain write locks on it. Does your scheme work correctly if T (first come) is granted the lock before V? If your answer is ‘No’, then modify your description.
Scheme:
When transaction T blocks on waiting for transaction U, add edge T U
When transaction T releases a lock, remove all edges leading to T. Illustration: U has write lock on ai.
T requests write ai. Add T U
V requests write ai. Add V U
U releases ai. Delete both of above edges.
No it does not work correctly! When T proceeds, the graph is wrong because V is waiting for T and it should indicate V T.
Modification: we could make the algorithm unfair by always releasing the last transaction in the queue.
To make it fair: store both direct and indirect edges when conflicts arise. In our example, when transaction T
blocks on waiting for transaction U add edge T U then, when V starts waiting add V U and V T
You might also like to view...
A framed document created with more than one frameset element will display as ________
Fill in the blank(s) with correct word
Another name for a wireless propagation pattern is a(n) _______ pattern
Fill in the blank(s) with correct word
Once an attacker gains remote control access over a system, they want to retain this illicit access. Some attackers will block the system update service to prevent new updates from fixing vulnerabilities that are needed to maintain remote control over the compromised system. To prevent such a compromised system from allowing the attacker to access resources on the network, what security mechanism should be implemented?
A. Network access control B. A Web security gateway C. Complex password authentication D. Intrusion detection system
Write a line of code that prompts the user for his or her name and saves the user's input in a variable called name.