Write a CPU scheduling program using Round Robin algorithm.
The simulation should implement:
• Clock – timestamps all events for processes - creation time, completion time
• Process creator – creates processes at arrival time (user-specified)
• CPU – runs processes for a time slice (user-specified).
• A FIFO Ready queue used by both the process creator and CPU
• Process arrival time – the time between the arrivals of new processes into the ready queue.
• Processes service time – amount of time required by the processes to complete execution.
• Time quantum – the time each process can spend in the CPU, before it is removed.
• Context switch – the number of times a process is switched
Performance Measurement Criteria should include the following:
• Average waiting time
• Average turnaround time
• CPU utilization
• Throughput
Present the result of the performance of the Round Robin scheduling algorithm for four different time quantum.
Note - This CPU scheduling simulator is not required to simulate the I/O operation, I/O waiting state, or interrupts.
Submission:
1. A properly documented source code and related output
2. A README file that describes the following:
• Introduction: a brief description of the problem and its goals;
• Implantation: a brief description of how to implement the RR scheduling algorithm and the queues involved to measure the performance criteria
• Empirical evaluation: a detailed description of your simulation, performance metrics
• Analysis of the results
• Conclusion
Suggestions:
1. Understanding of the CPU scheduling algorithm (Round Robin)
2. Goals of scheduling:
• CPU utilization – keep CPU 100% busy
• CPU throughput - maximize the number of jobs processed
• Turnaround time – minimize the time executing a process
• Waiting time – minimize amt of time process waits in the ready queue
• Response time – min amt of time from when a request is submitted until the first response (not output) is produced
3. Plan steps involved/requirements
4. Set up the environment for the scheduler
5. Define classes/subclasses used by the scheduler (CPU, clock, process, process creator, 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 context-switch time
8. Provide input to your simulator (time quantum, process arrival time, number of process, burst time of each process) process creator– a configuration file of the processes created at arrival time, can be used as input to the simulator, or a randomly generated process set. Using API, inputs can be entered interactively.
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 four different Time Quantum. Create metrics of the results and get the average of these metrics.
11. Analyze the result.
Hello
I am Java expert and interested in this project. I have implement CPU Scheduling Algorithm many times before and confident to handle this project perfectly. I also have a lot of experience in helping students with assignments.
Please communicate to discuss further.
Regards
Anshu
I am very proficient in java. I have 12 years java developing experience. I have worked for 5 years, my work is online game developing, and mainly focus on server side, the language is java under linux, I am proficint in c++ also. I used java to make many great projects. For example, I made the tools which can convert PWScript(a script language created by our company) to c++ files. I made our own mobile games, and i am mainly responsible for the server side, and it was built using java. I can even show you the mobile game client. Please let expert help you.
Dear sir,
I have done many projects in java for student around the world and got some positive feedback from clients. Let me help you. I'm ready to get started right now.
Thanks and best regards,
Tinh Nguyen
Hi, I have been working as IT consultant and Software Architect more than 10 years. I became OCP, CCNP, RHCE 3 years back. Earlier I completed B.Sc. Enng and M.Sc. Engg both in computer engineering.
Hire only technical/professional not writers only. I'm both I can send you samples of work.
Check my works here
https://www.freelancer.com/projects/Software-Architecture-Engineering/Software-engineering.5777740.html
https://www.freelancer.com/projects/the-analysis-design-software-system.html
https://www.freelancer.com/projects/Software-Architecture-Engineering/foundation-software-engineering.html
https://www.freelancer.com/projects/Software-Architecture-Java/Object-orientated-formal-specification.html
I'm assuring you the best quality.
I'm looking forward to hearing from you very soon