Simulate the following CPU scheduling algorithms:
i) FIFO
ii)SJF
iii)Round-Robin
iv)Priority-based Scheduling
v)Multi-level Queues
vi)Multi-level Feedback Queues
vii)Linux's Scheduler(Completely fair scheduler)
Assumed a random number of jobs, each with a CPU burst time given by a random amount. (Taken these from a random number generator, and experimented with different distributions).
For each case, computed statistics (mean, standard deviation for parameters of interest, such as the waiting time, and others). In each case, added more sophistication e.g., have a time-varying priority scheme with ageing, or a multi-level queue with flexibility like Linux's earlier scheduler.