Objective: Give a sequence of resource requests, determine at what request the banker’s algorithm will deny a process if any. Output the last “safe?? state generated. The algorithm should be implemented using Windows MFC. There should be an uneditable text block that displays the contents of the file read. On another part of the GUI, there should be a field indicating the last "safe" state -- the last process that ran and how many resources of each kind were left. There should also be a little .wav file that makes one sound if the state is safe, and one sound if the state is not safe. Produce at least three test cases and explain the answers to the cases as well. Code must be thoroughly documented. Assumptions: There are three types of resources (i.e. A, B, C). Resources are non-preemptive. All process start out with 0 resources of A, B, and C allocated (i.e. allocated = 0,0,0). File format: A: Number of units the system owns of resource A B: Number of units the system owns of resource B C: Number of units the system owns of resource C N: Number of processes that exist P1 A1 B1 C1: The Max column for process 1 P2 A2 B2 C2: The Max column for process 2 P3 A3 B3 C3: The Max column for process 3 PN AN BN CN: The Max column for process N. X: The number of resource requests that follow. Px a b c: Process x requests “a?? units of resource A, “b?? units of resource B, and “c?? units of resource C.
## Deliverables
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.
## Platform
Program is to be coded in Visual C++ (Windows MFC). Must run in Visual Studio C++ 6.0 Must run in Windows XP