3 * The tests in tests/ don't apply the grading patches.
5 * We need better example programs.
7 - Need an mmap example program as a replacement for the crappy mmap FAQ
12 - join-invalid doesn't compile if tid_t is not scalar type.
14 - mlfqs tests suck. They aren't even correct, e.g. the amarv
15 submission from win0405 is graded incorrectly.
19 - Don't emphasize that stuff needs to be copied from user space to
20 kernel space. Instead, emphasize validation and suggest that
21 copying is a common solution and that it will be necessary in
22 project 3 and in real OSes. Also revise the grading criteria to
25 - Move `join' implementation here, from `threads' project, to help
26 normalize the project difficulties.
28 - The semantics of the join system call should change so that it
29 only returns the exit code once.
31 - Mark read-only pages as actually read-only in the page table. Or,
32 since this was consistently rated as the easiest project by the
33 students, require them to do it.
35 - Don't provide per-process pagedir implementation but only
36 single-process implementation and require students to implement
37 the separation? This project was rated as the easiest after all.
38 Alternately we could just remove the synchronization on pid
39 selection and check that students fix it.
43 - Discuss the perils of mixing dirty bits between kernel and user virtual
48 - Update grading/vm to reflect new mmap, munmap forms.
52 - Increase maximum disk size from 8 MB to something that actually
53 requires doubly indirect nodes. There is a negative pressure here
54 from the bitmap object--perhaps we need a specialized bitmap that
55 doesn't have to be all in-memory at once.
57 Alternatively, shrink the inode size.
59 - Add mkdir and ls example user programs.
61 - Add option to disable buffer cache.
63 - Get rid of "dump" commands--they're not really useful.
69 - Finish writing tour.
71 - Add "Digging Deeper" sections that describe the nitty-gritty x86
72 details for the benefit of those interested.
74 - Add explanations of what "real" OSes do to give students some
81 . Low-level x86 stuff, like paged page tables.
83 . Specifics on how to implement sbrk, malloc.
87 - Add src/testcases/vm, src/testcases/filesys and make it clear to use
92 - Release some of them.
94 - The threads, userprog, vm test source files could use
95 factorization and cleanup along the lines of fslib in the filesys
98 - The p1-4.c testcase needs significant tuning. Currently it takes
99 too long (especially when SHOW_PROGRESS is turned on) and doesn't
100 show significant improvement.