State in a deadlock-avoidance system, Operating System

Assignment Help:

Question:

In a deadlock, processes never finish executing and system resources are tied up, preventing other jobs from starting. Deadlocks can be characterised by a set of conditions.

a) Describe the four necessary conditions that must hold simultaneously in a system for a deadlock situation to arise.

b) One way of handling deadlock situations is by using a deadlock-avoidance algorithm: Consider that a system always require additional information about how resources are being requested for every process before making a decision on whether to grant the request or not to grant the request. One possible reason for not granting the request is because it will put the system in an unsafe state.

What is the difference between a safe state and an unsafe state in a deadlock-avoidance system?

c) Consider a system with 12 magnetic tape drives and 3 processes: P0, P1, P2. Process P0 requires 10 tape drives, process P1 may need as many as 4, and process P2 may need up to 9 tape drives. Suppose that at time t0, each process is holding 5, 2 and 2 tape drives respectively. This can be illustrated in the table below:

1246_Difference between a safe state and an unsafe state.png

i. Is the system in a safe state at time t0? Clearly explain your answer.

ii. Suppose that at time t1, process P2 requests and is allocated 1 more tape drive. Now, will this allocation put the system in a safe or unsafe state? Clearly explain your answer.


Related Discussions:- State in a deadlock-avoidance system

Develop a utility in c programming, Develop a utility in C language which w...

Develop a utility in C language which will run in Linux operating systems to display following properties of the system: ? Processor speed ? Ram size ? Computer name ? System time

Explain the various file types, Explain the various file types A common...

Explain the various file types A common technique for executing file types is to contain the type as part of the file name. The name is split into two parts - a name and an ext

Explain how indefinite blocking or starvation occur, explain how indefinit...

explain how indefinite blocking or starvation occurs..

What is a general graph, What is a general graph? A tree structure wher...

What is a general graph? A tree structure where links can go from one branch to a node earlier in the similar branch or other branch, allowing cycles.

Explain the procedure for handling the page fault, The procedure for handli...

The procedure for handling the page fault is as follows 1. We check the internal table to verify whether the reference was valid or invalid. 2. If the reference was invalid,

Find the number of drives in the jukebox, Q. In a disk jukebox what would b...

Q. In a disk jukebox what would be the result of having more open files than the number of drives in the jukebox? Answer: Two bad results could result. One likelihood is star

Explain the sleep (ms) function, Explain the Sleep (ms) Function  This ...

Explain the Sleep (ms) Function  This call places the current thread in a suspended state for the number of milliseconds passed as the parameter (ms). After that Windows NT wil

Explain the per thread scoping, Explain the Per Thread Scoping Thread-l...

Explain the Per Thread Scoping Thread-level programming introduces new twists for application-level variable scoping. Threads are commonly used in one of two ways. To ex

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