- Argument passing test using printArgs.c
At the shell prompt, typing:
/c/printArgs.exe arg1 arg2 ... argn
should output:
arg 0 = /c/printArgs.exe
arg 1 = arg1
...
arg n = argn
Correctly printing all arguments gets 25 points.
- Testing for ampersand '&'
At the shell prompt, typing:
/c/long.exe &
should return the shell prompt immediately and long.exe should run in the background. This gets you 5 points.
- Semaphores using semtest1.c,p1.c, p2.c, and , p3.c
At the shell prompt, typing:
/c/semtest1.exe
should output
Semtest1 begins
p3 created
Produced 0
Consumed 0
Produced 1
Consumed 1
Produced 2
Consumed 2
Produced 3
Consumed 3
Produced 4
Consumed 4
p3 executed
Correct implementation of semaphores is worth 25 points.
- Semaphore invalid cases using semtest2.c
semtest2.c
will check handling of invalid arguments to semaphore operations. At the prompt typing:
/c/semtest2.exe
should output (actual value returned by Init_Semaphore not important).
+ Identified unauthorized call
+ Identified invalid SID
Init_Semaphore() called
Init_Semaphore() returned 0
P() called
P() returned 0
V() called
V() returned 0
Finish_Semaphore() called
Finish_Semaphore() returned 0
+ Removed authority after finish
Correct output gets you 10 points
- Scheduling using schedtest.c,sched1.c, sched2.c, and , sched3.c. At the prompt typing:
/c/schedtest.exe [rr|mlf] 10
should output a string consisting of
many 1s and 2s and a single 3. 3
should never appear as the first character. A sample session is
%/c/schedtest.exe rr 10
111111222222111111222222311111122222212
%/c/schedtest.exe mlf 10
111112222221111113222222111111222222112
A few trials runs will usually (but not certainly) show the
3 appearing earlier when running MLF than when running RR In case
of doubt, code will be checked. Correct implementation of scheduling
carries 30 points.
- INTERPRETATION file: the writeup is worth 5 points