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'm interesting your project very well
I'm a Good Java, Scheduler, Algorithm expert.
I understand your req exactly.
I m quite well experienced in these jobs.
Let's go ahead with me
I want to service for you continously.
Thanks
Hi, I am placing my bid on your project because I have read the requirements and I am confident enough with my Java and algorithm skills. I am very well aware of the round robin scheduling algorithm. I am focused mostly on doing computer science work here in freelancer.com and I would like to help you get this project done if you would give me the opportunity. I am a computer science professor and practitioner and this assignment is one of the fields that I teach very well so I can assure you an accurate result. Let me know if you are interested so I can have further details. Thanks.
I can develop the project for you in java. I have already done CPU scheduling in C++. But i ll need details about this. Feel free to contact me with details, if you want me to work on this.
Happy coding :)
Dear Sir,
I think I can take up this project and complete it timely to the best of your satisfaction.
I can get you a nice app done on Java / J2EE technologies.
Thanks and regards,
Jayesh J.
Hi. I have read your specifications. I have around 6 years of experience in Java and 2 years teaching students object oriented programming. I have done several projects like yours earlier.
Best regards.
We are the leading young professional software development organization having extensive technical expertise and knowledge in developing, managing, optimizing and customizing software’s by implementing these software’s in different demanding programming tools and latest technologies especially in ASP,ASP.net,VB,VB.net,Linux, C++, C #, Java, MySQL.
We have fully studied your project requirements description and also highlight main points in order to perform your demands which is required to complete the project in a given proposed time frame, as our commitment is a key to our successful journey which also inspired our employers who gave us the full rating on our completed projects as a "Project Completion Rate" which is also shown in our profile. Moreover we are also fully committed to accomplish the task assigned by you with the required state of the art technology to fulfill your requirements as prescribed in this project.
I thinks that this is the best way to utilize our impressive skills under the light of our previous experiences and excellent reviews given by the employers. We wish to render you our services and hopeful not to let you disappoint. We will also be responsive with a positive gesture without demanding any further cost. We are quite optimistic in a bid to receive this project.
Thanks
With Best Regards
Your Well Wisher
Motivated Young Freelancer