Explain banker''s algorithm, Operating System

Assignment Help:

Banker's Algorithm

In this analogy

Customers

processes

Units

resources, say, tape drive

Banker

Operating System

 

Customers

Used

Max

 

A
B
C
D

0
0
0
0

6
5
4
7

Available Units = 10

 

 

 

 

 

 

 

 


We observe four customers each of whom has been granted a number of credit nits. The banker reserved only 10 units somewhat than 22 units to service them. At definite moment the situation becomes

Customers

Used

Max

 

A
B
C
D

1
1
2
4

6
5
4
7

Available Units = 2

 

 

 

 

 

 

 

 

Safe State-    The key to a state being secure is that there is at least one way for all users to finish. In other analogy the state of is safe because with 2 units left, the banker is able to delay any request except C's, therefore letting C finish and release all four resources. With four units in hand the banker is able to let either D or B have the necessary units and so on.

Unsafe State-     Consider what would take place if a request from B for one more unit were granted

We would have following situation

Customers

Used

Max

 

A
B
C
D

1
2
2
4

6
5
4
7

Available Units = 1

 

 

 

 

 

Fig. 3

 

 

This is an unsafe state.

If all the customers namely A, B, C, and D request for their maximum loans, then banker couldn't satisfy any of them and we would have a deadlock.

It is significant to note that an unsafe state does not imply the existence or even the eventual existence a deadlock. What an unsafe state does involve is simply that some unfortunate sequence of events might lead to a deadlock. The Banker's algorithm is therefore to consider each request as it occurs and see if granting it leads to a safe state. If it does, the request is granted or else, it postponed until later.


Related Discussions:- Explain banker''s algorithm

Task decomposition and data decomposition, Discuss the concepts of  task de...

Discuss the concepts of  task decomposition  and  data decomposition  within the context of parallel programming. Parallel programming or parrelel computing is the simultaneo

Memory hierarchy, Difference between cache and associate memory

Difference between cache and associate memory

File management, approaches to identify free memory area in a heap

approaches to identify free memory area in a heap

Explain tightly coupled systems and loosely coupled system, Differentiate t...

Differentiate tightly coupled systems and loosely coupled systems? Loosely coupled systems:-  Every processor has its own local memory  Every processor can communicate

Define dynamic loading, Define dynamic loading. To obtain better memory...

Define dynamic loading. To obtain better memory-space utilization dynamic loading is used. With dynamic loading, a routine is not loaded until it is called. All routines are ke

What is thrashing, What is thrashing? It is a method in virtual memory...

What is thrashing? It is a method in virtual memory schemes when the processor spends most of its time swapping pages, rather than implementing instructions. This is because o

Developing code with threads, Developing Code with Threads Writing code...

Developing Code with Threads Writing code to support a thread-based implementation is very straightforward. Simple APIs are presented to the developer for each threads package.

Define lazy swapper, Define lazy swapper. Rather than swapping the enti...

Define lazy swapper. Rather than swapping the entire process into main memory, a lazy swapper is used. A lazy swapper never swaps a page into memory unless that page will be ne

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