In this assignment, you are requested to develop a simple simulator for the CFS scheduler. The simulator must implement the following features:
to take as input a number of processes along with their priorities, their burst times, and the time they appear in the system. The input can be given as a text file which may have been generated by a separate program or it can be generated on-the-fly with random data if the user enters only the number of processes without the rest of the information.
to use a Red-Black tree structure with support for insertion (creation of new processes), deletion (terminated processes), and to update the tree according to the self-balancing rules.
tocalculatethewaitingandresponsetimeofeachprocessinthesystemaswellas the corresponding average values.
to generate statistics of how many times each process was preempted and how long it stayed in the waiting queue.
Your file must contain detailed comments about the rationale you have followed.
The final date of submission is 13 of April at 23.00.
Make sure your program runs smoothly in a Linux environment and compiles without errors (if C is used, it must compile with gcc).