Deadlock prevention, Operating System

Assignment Help:

While it is hard to resolve a deadlock which has been detected, fortunately it is fairly easy to prevent deadlocks from ever happening. The key is that the conditions above for deadlock are all necessary. We just have to ensure that at least one condition cannot be true. We de?nitely cannot get rid of the problem of ?nite resources; that is something we have to live with. And in many cases it can be dif?cult to get rid of the conditions of hold-and-wait and lack of preemption.

But we can eliminate circular waiting. One standard way of doing this is to have a so-called canonical ordering of the locks. This means that the programmer must always acquire the locks in a speci?ed order, such as ?rst lock1, then lock2, then lock3, etc. By doing so, we will ensure a system whose thread/resource graph is cycle-free, and therefore the system will be deadlock-free.


Related Discussions:- Deadlock prevention

Packets and time division multiplexing (tdm), Broken data into small packet...

Broken data into small packets allow time division multiplexing. In TDM every packet leaves the sender and is switched on the shared interaction channel through a multiplexer. At t

Deadlock-avoidance safety algorithm, Q. Presume that you have coded the de...

Q. Presume that you have coded the deadlock-avoidance safety algorithm as well as now have been asked to implement the deadlock-detection algorithm. Can you do thus by simply usin

What are the reasons for process suspension, Q. What are the reasons for pr...

Q. What are the reasons for process suspension? Reasons for process suspension 1.  Swapping 2.  Timing 3.  Interactive user request 4.  Parent process request

Differences among user-level threads and kernel-level thread, What are two ...

What are two differences among user-level threads and kernel-level threads? Under what circumstances is one type better than the other? (1) User-level threads are unknown by th

Can we call trap as an interrupt??, is there any difference between the tra...

is there any difference between the trap and interrupt??

Fibonacci sequence, #questionThe Fibonacci sequence is the series of number...

#questionThe Fibonacci sequence is the series of numbers 0,1,1,2,3,5,8,… Formally, it can be expressed as: fib0 = 0 fib1 = 1 fibn = fib n-1 + fib n-2 Write a C program u

Unix process api, Unix process API The two most important function calls...

Unix process API The two most important function calls to use when programming with several processes are fork and exec:  fork() creates a copy of current process. It gives

Mutual exclusion variable, Since each thread has its own processing space t...

Since each thread has its own processing space therefore communication between threads will need to be done through a common global variable. Since multiple threads can access the

What are the advantages of using unequal- size partitions, In fixed portion...

In fixed portioning scheme, what are the advantages of using unequal- size partitions? With unequal-size partitions there are two probable ways to assign process to partitions.

What are the different constituents of a process, Problem: a) Define th...

Problem: a) Define the term ‘process' and what are the different constituents of a process. b) In the three-state process model, what does each of the three states signify?

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