in python please
OS Simulator A. Preject Objectivest This programming project is to simulate the CPU scheduling algorithms, banker's algorithm, page replacement algoeithms discussed in the class. Yoe will arrite a program to inplement a simulator with different algorithms. The program oulputs a menu to the user, where the user selects bisher choice from the menu. In case of CPU schoduling algorithms, the simulater selects a tadk to nan from ready quesa based on the scheduling algorithm. Since the project intersds to simulate a CPU schedalet, so it docs not require any actual process creation or execution. When a task is scheduled, the simulanor will simply print out what task is selected to ran at a time. It outputs the way similar to Gant chart style. Other choices will be treated as discussed in the class. The west can run any algorithm B. Project Descriptiens: The selected seheduling alpoeithens to implement in this projoct are: 1. First Come First Serve (FCFS) 2. None preemptive shortest job first 3. Precemptive shoctest job first 4. Round Robin 5. Bankers Algorithm 6. Fint in Finst out FIFO 7. Least recent used 8. Optimal 9. Exit C. Requircincuts: 1. The project requires to simulate FCFS, SJF peecmptive and bone preemptive, and the RR. scheduling for given tads by reading: 1. The number of processes. 2. The arrival time for each peocess, indicate of for not given arrivat time. 3. The Burst time for each process. You are required compute: 1. The average waiting time for each peocess. 2. The average waiting time. 3. The turnaround time for each process. 4. The average namaround time. 5. Draw the Gant Chart 11. The project requires to siniulate the Bankers algorithm by reading 1. The number of processes (n) 2. The number of resources (m) 3. The number of instances for each resource 4 The Allocation Matrix (row by row) 1 The Max Matrix (row by row) 4. The available vector You are required compute: 1. The Nesd Matrix. 2. In order to cniter the safe state, print the sequence of processes which satisfy the safety crifictia. 3. Ask the user if a request can be granted or not. If yos. show the changes in the mutrices if any. 111. The project requires to simulate the page roplacement algorithm either, FIFO, Optimal, or L.RU by reading 1. The size of the frame. 2. The reference strings. You are required compute 1. Number of poge faults 2. Botk hit and miss ratio