SI411 Operating Systems Fall AY07
Team Programming Project 1
Due: Close of Business, Friday, October 20, 2006
Close of business is defined as
under my office door prior to my arriving to work the next work day (usually
around 0800). If you slide your project under my door after the due date, write
the date and time that you slid it under my door to stop any late penalty computation,
otherwise the project will be considered to have been placed under my door just
moments before I arrived.
For the purposes of
COMPSCIDEPTINST 1531.1C (available http://www.usna.edu/CS/academics/honor.htm)
this programming project is designated as a Team Programming Project, and as such
midshipmen may give no assistance whatsoever to any person not on their
assigned
team and may receive no assistance whatsoever from
any person not on their assigned team other than the assigning instructor. Further, midshipmen may not use information
in
any format, electronic or printed, other than their own or a teammate’s class
notes, the course textbook, or materials distributed by the instructor.
If midshipmen
wish to use additional sources, they must receive explicit permission from
their instructor.
Background: In this project, you will put the author's "rule of thumb" concerning round robin scheduling's time quantum size to the test. The author's rule of thumb (see page 186 of the course text) is that "...80% of the CPU bursts should be shorter than the time quantum". Your task is to implement a Java-based Round-Robin scheduler and perform simulation runs to determine the effects of varying the quantum size. You are to work within your assigned software development team (see course web page for team assignments), and follow the guidelines given in the course policy (and reiterated above) regarding collaboration. Start this project from scratch (ie., do not start from the round robin scheduler code discussed in Chapter 6).
You may make the following assumptions:
Early/Late policy: As per the course policy, projects turned in after the submission deadline will incur an automatic deduction of 3n points where n represents the number of work days (rounded up for fractions of days) after deadline passage. For early submissions, 3n extra-credit points (up to maximum of 9 points) will be awarded, where n represents the number of days early that the project was submitted (not including the day the project is due).
Requirements:
Note: You are encouraged to get requirements 1, 2, and 3 working before you attempt requirements 4 and 5.
For the data collected from your program when input from 2a was selected:
For each time quantum size, the following output is required in tabular form (with the X's replaced with the actual data):
Round Robin Scheduling Algorithm with Quantum size XX
Job # Burst Wait-Time Turnaround-Time # of Context Switches
XXX XXX XXX XXX XXX
XXX XXX XXX XXX XXX
...
Average Burst Time: XXX.XX
Average Waiting Time: XXX.XX
Average Turnaround Time: XXX.XX
Percentage of jobs that finished on the first pass: XX %
Total number of context switches: XX
For the data collected from your program when input from section 2b was selected:
- Run your program 10 times using the input choice from section 2b. Manually record the following information for each run:
o The 10 sets of randomly generated integers, in original unsorted order.
o The average wait time, turnaround time, and # of context switches for burst sizes (20%, 40%, 60%, 80%, 100%) for each of the 10 sets (so, there should be 10 sets with each set having an avg wait time, an average turnaround time, and the # of contest switches).
Deliverables: Turn in ONE of each of the following PER TEAM by the deadline on the top of this project specification:
1. Paper copy of all source code. Include the following as comments at the top of each file you turn in:
· the names of the midshipmen in your assigned team,
· the filename of the source code, and
· a brief description of the source code in the file.
2. A paper copy of each of the five output files from part 5 above, when run on the input discussed in Requirements section 2.A’s static input. Note that you DO NOT need to turn in the output files from the Random Burst Length Generation in section 2.B
3. Three separate hand drawn or excel graphs that plot the following for the input file in Requirements section 2.A.
a. Average Turnaround time vs. % of jobs that complete in 1 time quantum
b. Average Waiting time vs. % of jobs that complete in 1 time quantum
c. Number of context switches vs. % of jobs that complete in 1 time quantum
4. Three separate hand drawn or excel graphs that plot the following for the data from part Requirements section 2.B.
a. Average Turnaround time vs. % of jobs that complete in 1 time quantum showing all 10 runs on the same chart.
b. Average Waiting time vs. % of jobs that complete in 1 time quantum showing all 10 runs on the same chart.
c. Number of context switches vs. % of jobs that complete in 1 time quantum showing all 10 runs on the same chart.
5. Your conclusions as to whether or not the author's rule of thumb is valid. Support your conclusions by citing the results you show in parts 3 and 4. Your discussion should be no more than one page in length.
6. Send your instructor an e-mail message with the subject line of “SI411 Project Delivery”. Include as attachments your final (to be graded) source files and .txt files discussed above.
7. Your project is not considered submitted until all paper copies and the e-mail has been received by the instructor.