Assignment
Implement the following scheduling algorithms and report the average waiting time for all these cases.
1. First Come First Serve
2. Shortest Job First
3. Priority Scheduling (preemptive and lower the number higher the priority)
4. Round Robin Scheduling (you should consider 3 seconds as time quantum)
The input of the program is as follows:
The first line indicated how many processes are there. Then each line (for each process) will have three information (arrival time, burst time and priority) separated by a space.
Example:
|
|
4
|
0
|
23 3
|
0
|
13 2
|
1
|
12 1
|
2
|
17 4
|
Here there are four processes to be scheduled. Each line represents information regarding each process. For example third process (third row) arrived at time 1, need 12 seconds to process (burst time) and its priority is 1 (highest among all)
IMPORTANT NOTES:
a. At some point you might need to sort (for example first come first serve), please don't use system library for the sorting. Please implement it by yourself and implement any of these three sorting algorithm: quick sort, heap sort or merge sort.
b. You might need queue to implement for the efficient data structure and perform some operations on that. Please don't use any library for that. Please implement queue by yourself.
c. Please use either JAVA or C++ for the implementation.