Deadlock detection, Operating System

Assignment Help:

Deadlocks can be detected while the program is running, by running cycle detection algorithms on the graph that de?nes the current use of resources.

De?ne this graph as follows: it has one vertex for each resource (r1; : : : ; rm) and one vertex for each thread (t1; : : : ; tn). If a resource ri is held by thread tj , then we add an edge from vertex ri to vertex tj . If a thread tk is trying to acquire resource r', then we add an edge from vertex tk to vertex r'.

Given this graph, we can run a cycle detection algorithm. If a cycle is found, there is a deadlock. Detecting a deadlock ismuch easier than recovering froma deadlock. Several possible approaches might be to kill all of the threads in the cycle, or kill the threads one at a time, forcing them to release resources, and hope that this will break the deadlock.

While this may sound easy, it is not. Killing threads generally doesn't release their resources cleanly (locks,memory, ?les, etc). This is essentially the rollback problem, to back out all the actions of a thread. Databases usually include rollback mechanisms, which can be quite complicated, and it is not always possible to roll back all the actions of a thread (consider a thread which outputs hard-copy printed pages).

As a general guideline, do not use functions like pthread cancel(), which kills a thread, unless you really know what you are doing.


Related Discussions:- Deadlock detection

Paging, protection in paging

protection in paging

Explain demand paging in virtual memory system, Question 1 Explain with di...

Question 1 Explain with diagram all possible states a process visits during the course of its execution Question 2 Discuss Inter-process Communication. What is critical-secti

What is multiprogramming, What is Multiprogramming? Multiprogramming is...

What is Multiprogramming? Multiprogramming is the capability of am operating system to support multiple applications running concurrently. Multiprogramming simply means that an

Multiprogramming, ? FREE ASSOCIATION ASSIGNMENTS of multiprograming

? FREE ASSOCIATION ASSIGNMENTS of multiprograming

Objective, what are the objective of operating system assignment

what are the objective of operating system assignment

Operation research, scattered resposibi;ity and authority -necessity of ope...

scattered resposibi;ity and authority -necessity of operation research

Lru implementation details, Now, let us discuss two related algorithms for ...

Now, let us discuss two related algorithms for deciding which pages to evict. The clock algorithm is one of the most popular choices. It works by keeping frames in a circular struc

Cache replacement policies, The physical memory acts as a cache backed by t...

The physical memory acts as a cache backed by the disk. When the physical memory is full, and we want to read in another page from disk, we have to evict a page from physical memor

Describes attributes, What are attributes? Attributes are the one, whic...

What are attributes? Attributes are the one, which explains the properties of data object.

Estimation the number of input - output per second, Q. Remapping of bad bl...

Q. Remapping of bad blocks by sector sparing or else sector slipping could influence performance. Presume that the drive in Subsequent Exercise has a total of 100 bad sectors at r

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