Project 3 Grading Criteria

  1. 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.

  2. 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.

  3. 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
    Create_Semaphore() called
    Create_Semaphore() returned 0
    P() called
    P() returned 0
    V() called
    V() returned 0
    Destroy_Semaphore() called
    Destroy_Semaphore() returned 0
    + Removed authority after finish
    
    Correct output gets you 10 points

  4. Scheduling will be tested using ping.c and pong.c.
    Correct output gets you 25 points

  5. Scheduling using schedtest.c,sched1.c, sched2.c, and sched3.c. At the prompt typing:

    /c/schedtest.ex [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.ex rr 10 
    111111222222111111222222311111122222212
    %/c/schedtest.ex 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.

  6. INTERPRETATION file: the writeup is worth 5 points