A deadlock is the very unpleasant situation that may occur in very dynamic world of running processes, a situation that must be avoided at all costs. One famous algorithm for deadlock avoidance is the Banker’s algorithm for deadlock avoidance. The version of this algorithm presented in this module’s commentary gives just one solution (the Greedy approach).

Consider the Greedy approach to the Banker’s algorithm from the module readings. Give an example of application of this algorithm for 7 processes (named P1, … , P7) and 5 resource types (named R1, … , R5).

Start by listing the matrices involved in this algorithm, that constitute its input data; also, do not forget to mention the overall resources of each type available in this fictional system.

Proceed by describing the algorithm, step by step; for each step, mention the test performed, which process was chosen, what is the old and new status of the Work array, etc.

In the end, list the solution, that is the safe sequence of processes resulting from this algorithm.

Also, to check if your computations are correct, verify that in the end all resources of the system are freed.