3 -3 Not explaining random vs. LRU algorithm
4 -3 Not testing/explaining heavily paging program
5 -3 Not testing/explaining mmap
12 DESIGNDOC (per problem):
13 -10 Doesn't discuss page table design
14 -10 Doesn't discuss swap design
15 -5 Doesn't discuss page replacement algorithm
16 -5 Doesn't explain how memory mapping works
19 -3 Holds a global lock while accessing the disk
20 -1 Gratuitous use of malloc() (e.g. for allocating a list or a lock)
21 -1 Inappropriate use of ASSERT (e.g. to verify that malloc() succeeded)
24 -10 Doesn't allow out of order pages within swap disk
25 -2 Does not synchronize data structure (give name of data structure here)
27 Page Table / Page Replacement
28 -10 Doesn't use an inverted, hashed, or other efficient page table design
29 -5 Uses random/sequential page replacement
30 +2 Unusually clever page replacement
32 -2 Does not synchronize data structure (give name of data structure here)
34 Demand Paging / Memory Mapping
35 -10 Loading is not at all lazy
36 -5 Loading is not entirely lazy
37 -5 Stack does not grow downward from top of address space
38 -5 Stack does not grow automatically
39 -2 Does not synchronize data structure (give name of data structure here)
44 -5...-10 Fixing code after submission
45 -5 Doesn't compile as submitted
46 +1...+5 Cool test programs etc.