The project will consist of creating a simulation of an operating system scheduler handling multiple threads or processes. The student will create a program that launches 6 – 10 worker threads simulating a processor bound, I/O bound and an intermediate of the two types. The program will schedule the tasks using the First-Come, First-Served (FCFS), Shortest Job First, and Round Robin scheduling algorithms. The Program should be written in Java and the Round Robin algorithm should employ the suspend() and resume() thread methods (yes I know the methods are depreciated. Included as an attachment is a sample). The student will take statistics and will write a paper describing what they found.
The paper should be approximately 7 – 10 double-spaced typed pages excluding source code listings, figures, charts, graphs, and tables. References are to be included, but not counted as part of the 7 – 10 pages. The paper should be a complete description of your project, including: the goals of your project, the approach you used, what you did, the statistics you gathered, what lessons you learned (what did not work as originally expected), and a conclusion. On the other hand, excessively long projects will not be favorably received.