CS 3733 Operating Systems, Fall 2008 Assignment 1 Comments
This assignment was graded on the basis of 30 points.
18 students turned in the assignment.
Only 8 students got more than 20.
You can resubmit again by Monday to get back half of the points you lost.
You only need to redo the parts that were not working.
You must use a state machine implementation similar to the solution
prototype below.
You need to turn in your original assignment with the new one attached to
the top (with a new cover page).
A single staple in the upper left corner will do.
The main lab has a variety of staplers that you can use.
Please do not use any other type of binding.
After each call to malloc you should check for errors.
Watch out for integer division when calculating averages.
When returning from main (or calling exit) the return value
should not be negative.
Your tests should include at least one test in which SJF and PSJF differ.
Programs (and output) should not be printed with a proportional font.
Use the correct headings in the main program. The output should be labeled
FCFS, SJF, etc., not Part 1, Part 2, ... .
If implemented efficiently, the code is not too long.
PSJF and SJF are almost identical.
FCFS is a special case of RR.
Note that for PSJF in Test 2, there is no preemption since P1 has only
1 unit left on its CPU burst and P2 has a CPU burst of 2.
A function has a memory leak if it allocates temporary space
but does not free it. Memory leaks in operating systems can cause
applications to run very slowly.
What is wrong with the following solution to Part 0:
void part0(char *s1, char *s2, int x1, int y1, int z1,
int x2, int y2, int z2) {
s1 = "RRwwwwwRRRRRRRRR";
s2 = "rrRRRRwwwwwwwwrrRRRRRRR";
}