Please answer CLEARLY and LEGIBLE. Also include a illustrated code.
CS 444 Operating System 2/27/2018 Project The purpose of this project is familiarizing students with three different scheduling algorithms to run processes. The first algorithm is Round Robin by assigning time quantum to each process. At a certain point the priority algorithm takes place. In order to be fair to shortest job and prevent them from starvation, the shortest job algorithm takes place. At certain time quantum the priority algorithm task place again. Each process is given a time quantum. There will we several I/O request which would cause interrupt. Your task is to create a process. Once the process is created then it is moved to the ready queue and from ready queue moves to running phase for execution. If there is an interrupt then the process is moved to the waiting queue, in this case I/o queue, and once the I/O is handled then it is ready for execution depending on algorithm. Running Waiting Queue Process Create Process Ready Queue Terminate if process is complete /O Wait Queue VO Interrupt Each process execution begin with CPU burst followed by VO burst which is followed by another CPU burst 1. Each process can be in CPU cycle with maximum 100 time quantum or 100 time burst. If there is an I/O request then after 50 time quantum it is moved to the /O waiting queue and next process can enter to the CPU cycle based on the priority algorithm. 2. 3. A process with higher priority can't wait more than 350 time quantum at this phase. 4. Only one VO request can be completed at each time 5. If the wait time for process/processes exceeds 2500 time quantum then the remaining processes take turn to enter to the CPU cycle base on the shortest job first algorithm Once shortest job algorithm applied then each process can be in CPU cycle with maximum of s0 time quantum. If there is an l/O request then after 35 time quantum it is removed to the Vo 6