3 * The tests in tests/ don't apply the grading patches.
7 - join-invalid doesn't compile if tid_t is not scalar type.
9 - mlfqs tests suck. They aren't even correct, e.g. the amarv
10 submission from win0405 is graded incorrectly.
14 - Don't emphasize that stuff needs to be copied from user space to
15 kernel space. Instead, emphasize validation and suggest that
16 copying is a common solution and that it will be necessary in
17 project 3 and in real OSes. Also revise the grading criteria to
20 - Move `join' implementation here, from `threads' project, to help
21 normalize the project difficulties.
23 - The semantics of the join system call should change so that it
24 only returns the exit code once.
26 - Mark read-only pages as actually read-only in the page table. Or,
27 since this was consistently rated as the easiest project by the
28 students, require them to do it.
30 - Don't provide per-process pagedir implementation but only
31 single-process implementation and require students to implement
32 the separation? This project was rated as the easiest after all.
33 Alternately we could just remove the synchronization on pid
34 selection and check that students fix it.
38 - Finish writing tour.
40 - Add "Digging Deeper" sections that describe the nitty-gritty x86
41 details for the benefit of those interested.
43 - Add explanations of what "real" OSes do to give students some
50 . Low-level x86 stuff, like paged page tables.
54 - mmap/munmap should use segment IDs like Nachos. Too hard
57 - Add src/testcases/vm, src/testcases/filesys and make it clear to use
62 - Release some of them.
64 - The threads, userprog, vm test source files could use
65 factorization and cleanup along the lines of fslib in the filesys
68 - The p1-4.c testcase needs significant tuning. Currently it takes
69 too long (especially when SHOW_PROGRESS is turned on) and doesn't
70 show significant improvement.