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

Explain about deadlocks, Q. Explain about Deadlocks? Deadlocks for (...

Q. Explain about Deadlocks? Deadlocks for (int i = 0; i // first find a thread that can finish for (int j = 0; j if (!finish[j]) { boolean temp = true; for

Define entry section and exit section, Define entry section and exit sectio...

Define entry section and exit section. The critical section problem is to design a protocol that the processes can use to cooperate. Every process must request permission  to e

Implementation of lru, 1. On every access, mark the page with a timestamp. ...

1. On every access, mark the page with a timestamp. Whenever we need to evict a page, we search through memory for the oldest page, the least-recently used page. But we need memory

Why global variables are unacceptable, Why Global variables are unacceptabl...

Why Global variables are unacceptable Global variable, for instance, are unacceptable because they break the rules of self - containment. If all procedural components are runni

Explain the thread local storage (tls), Explain the Thread Local Storage (T...

Explain the Thread Local Storage (TLS)    Windows NT provides unique functions for per-thread data management. Thread local storage (TLS) is a concept defined in NT so develope

CPU, TURNAROUND TIME

TURNAROUND TIME

What is the kernel, What is the kernel? A more common explanation is th...

What is the kernel? A more common explanation is that the OS is the one program running at all times on the computer  usually known as the kernel, with all else being applicati

Mechanism for code and data sharing, Q. Consider a system in which a progr...

Q. Consider a system in which a program is able to be separated into two parts: code and data. The CPU recognizes whether it wants an instruction (instruction fetch) or data (data

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