7 Didn't discuss global vs local allocation of fileID's
8 How to handle exceptions & why (ie killing processes
10 Explaining choice of openFileID's & ASIDS
11 c) Multiprogramming (/30)
12 How to find a free page.
13 Explaining how new processes are executed.
14 How they deal with running out of memory error on loading.
16 b) Other Design (/60 pts)
19 No checking for page boundaries in argument passing -10
20 Uses memcpy/bcopy/memmove or file reading/writing for +5
21 copying up to/starting from page boundaries -- good job!
22 (Search for memcpy/bcopy, not just extern, make sure they call it
23 with the possibility of copying more than 4 bytes at a time. ALSO if
24 they do File Read/Writes then that is not byte-by-byte but they will
25 fail page crossing only take off for failing the pagecrossing test.)
26 Don't decomp / reuse translation code -5
27 Using strtok instead of strtok_r or strsep -1
28 (strtok is not thread-safe)
31 No checking for page boundaries in system calls -20
32 (-5 if they only forgot for some system calls but did it somewhere)
33 Interrupts turned off for all system calls -10
34 Doesn't close open files after process exits -2
35 table/when file is closed, it is not removed from file table
36 Uses printf/fscanf/putc/getc when interacting -5
37 with StandardInput / StandardOutput
38 Using fixed length buffer for Read/Write -5
39 Using pointer to int casts as ASID/FileId without justifying -5
42 Don't use the bitmap object -5
43 Bitmap is not cleared when process dies -5
44 Access to bitmap is not sychronized -5
45 getting next ASID is not synchronized -5
46 ...or (mututally exclusive, depending on their solution)...
47 Doesn't use ASID's at all, but their system for identifying -5
48 processes has synchronization or uniqueness problems (e.g.
49 careless use of AddrSpace*'s)
50 Multiple translations for a page -10
51 (One vaddr maps to two paddr's, or vice versa)
55 0) Had to modify code to get to compile the first -10
57 1) Minor changes to machine code -10
58 2) Extraneous output -5
59 3) Unexplained dependencies -5
60 4) Not Decomposing Exception handler -5
62 TESTCASEs (/30 points)
63 ----------------------
64 Don't write own testcases -15
65 Not sufficient testing up to -10