Bankers Algorithm ² For systems with more than one instance of each resource, the Bankers Algorithm can be used. ± When a new process enters the system, it must declare the maximum number of instances of each resource type that it may need. This number must not exceed total system resources. ± When a process requests a set of resources, the system must determine if the allocation of these resources will leave the system in a safe state. If it will, the resources are allocated; otherwise, the process must wait until some other processes release enough resources. ² Three or Four data structures are maintained to implement this algorithm for a system of n processes and m resource types: ± Vector available[j], size m, holds the number of available resources of each type; ± Array max[i,j], size n by m, holds the maximum demand of each process on each resource type. If max[i,j]=k, then process Pi may request at most k instances of resource type Rj ; ± Array allocation[i,j], size n by m, holds the number of resources of each type currently allocated in the system. If each process suddenly requested its maximum amount of resources, then this array would equal max[,]; ± Array need[i,j] holds the remaining resource count needed for each process to reach its maximum allocation i.e. need[,] = max[,]-allocation[,]. ² We will practice this technique in the next tutorial: safety test algorithm, resource request algorithm. ± Silberschatz (6th edition): pages 258-259. CP2002 Page 148 c °Phillip Musumeci JCU 2002 10.7 Deadlock Detection ² If a system cannot prevent deadlocks, then it needs to be able to detect them and have a recovery algorithm. ² The detection of deadlocks is a run-time load on the system. ² The recovery algorithm will usually involve deletion of some processes.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased.
Java, no GUI