Research the round robin cpu scheduling algorithm - define


Your objective is to create a program that simulates Round Robin CPU scheduling. You may write your program in C, C++, Java, or Python. If you choose C, C++, or Java you must include a Makefile. Your program will be tested on a Linux machine. You should test your program on the virtual machine from the first assignment to make sure it will run.

Program Requirements:

The program you will create is used to generate a schedule of processes. The processes are stored in a plaintext file. The program accepts two parameters. The first parameter is the path of the processes file. The second parameter is the time quantum. More on that in the next page.

Your simulation should include the following:

Clock                                              timestamps all events for processes, such as creation time, completion time, etc.

Process Creator                            creates processes at arrival time

CPU                                                 runs processes for a time slice (time quantum)

Queue                                            FIFO ready queue used by both the process creator and CPU

Process Arrival Time                    arrival time of new processes into the ready queue

Process Service Time                   amount of time required by the processes to complete execution

Time Quantum                              time each process can spend in the CPU, before it is removed

Context Switch                              number of times a process is switched

Your program should also print out the following performance evaluation criteria:

CPU Utilization

Throughput

Average Waiting Time

Average Turnaround Time

Include a README pdf document as your project report. Your report should explain CPU scheduling and how Round Robin works. Your report should detail your project implementation and how to analyze the program output. You must include the resulting output of your program using five different time quantums on the same process list. You can either use screenshots or simply copy the output into your report. The analysis of the results of the five runtimes should exhibit the performance of the algorithm based on the size of the time quantum and how this size impacts the outcome of the scheduling.

Sample Input:

Your program will be tested with an input file that has a certain format. It is a csv (comma space value) format that resembles a table. The three columns are Process ID, Arrival Time and Burst Time. Each row is a process.

Program Execution:

Your program accepts two parameters. The first is that path to the processes text file. The second parameter is the time quantum to be used in the simulation. For example if your program was written in java, the following could be how would test it.

$ javac target.java
$ java target processes.csv 2

Suggestions:

1. Research the Round Robin CPU scheduling algorithm.

2. Understand goals of scheduling:

3. Understand the requirements and plan steps involved to meet the requirements.

4. Set up the environment for the scheduler.

5. Define classes/subclasses used by the scheduler (CPU, clock, process, processUcreator, simulator, etc.), FIFO scheduler, and all the parameters involved.

6. Define queues (i.e., ready queue/FIFO and waiting queue) used by the scheduler, the data structure, and mechanisms used for each queue to determine when and which queue a process should enter, and when to be removed to resume execution or be terminated.

7. Keep track of contextUswitch time.

8. Provide input to your simulator (time quantum, process arrival time, number of process, burst time of each process) processUcreator.

9. Output the sequence of events and show how the algorithm is executed and the performance of your scheduling algorithm for the same set of processes and their associated burst time, but different time quantum, in terms of the turnaround time, waiting time, CPU utilization, and throughput.

10. Empirical evaluation: Full accounting and statistics after the simulation completes. Create processes with different arrival time and burst time. Run the scheduling algorithm on these processes (i.e., the same set of processes), with five different Time Quantum. Create metrics of the results and get the average of these metrics.

11. Analyze the result.

Request for Solution File

Ask an Expert for Answer!!
Operating System: Research the round robin cpu scheduling algorithm - define
Reference No:- TGS01701544

Expected delivery within 24 Hours