create implement scheduling algorithms the scheduling algorithms are first come first server round robin shortest process next shortest remaining time highest response ratio next and multilevel feedback

Need it by 12:00PM on12/5/2019

Link to the complete question click here

  1. Basic Requirements

The basic requirement is just to implement 6 scheduling algorithms. can refer to the online codes. can select any programming language, including C, C++, C#, Java, Python, Javascript, and others. The scheduling algorithms are First-Come-First-Server, Round Robin, Shortest Process Next, Shortest Remaining Time, Highest Response Ratio Next, and Multilevel Feedback.

The input of processes can be static, that are directly coded into programs. For example, you can create two arrays with processes’ arrival time and service time. Initialize them as proc_arr_time = {0, 1, 3, 4, 7}; proc_ser_time = {10, 2, 5, 9, 7}. Then take these two array as the input of the scheduling algorithms.

For all algorithms related to time quantum, you can just give one example. For example, setup the time quantum to 5.

  1. Advanced Requirements

The advanced requirements include two parts: program and analysis.

The program part includes to implement dynamic input and to add a graphic UI. The dynamic input indicates that the information about processes are not static fixed in program, but can read the inputs from keyboard. An example is shown in Figure 1. you need to implement functions to check the correctness of inputs.

Figure 1. Dynamic inputs

The graphic UI can be implemented using all libraries or techniques. For example, GTK for C, QT for C++, Windows Forms Application using C#, Java applet, PyQt5 of Python, and a webpage usin HTML/CSS with Javascript. you are not limited to the techniques above. They can implement a webpage using Java or PHP. An example is shown in Figure 2.

Figure 2. An example of graphic UI with dynamic input

The analysis part is about the comparison among scheduling algorithms. The compare the algorithms, you need to prepare multiple inputs with different jobs. For example, all jobs are with short service time, and half jobs are with short service time while the other half are with long service time. you can use the total/average turnaround time as the only factor. you must have a conclusion of their analysis and compose a report to describe their conclusion.