3 * Test pintos with GSX.
5 * Get rid of warnings for NDEBUG build.
7 * Need targets for checking single tests or single subdirs
9 * Add a way for students to prints messages ignored by the autograder.
11 - Ignore text between /* and */.
13 - Allow for a comment on `exit' lines?
15 * Improve automatic interpretation of exception messages.
17 * Remove names from synchronization primitives? They don't seem
20 * debug_backtrace() in kernel should only dereference valid pointers.
22 * Mention how to use add-symbol-file in gdb.
24 * We need better and more example programs.
26 - Need an mmap example program as a replacement for the crappy mmap FAQ
29 - How about `diff' and `cmp' programs?
33 - mlfqs tests suck. They aren't even correct, e.g. the amarv
34 submission from win0405 is graded incorrectly.
38 - Don't emphasize that stuff needs to be copied from user space to
39 kernel space. Instead, emphasize validation and suggest that
40 copying is a common solution and that it will be necessary in
41 project 3 and in real OSes. Also revise the grading criteria to
44 - Mark read-only pages as actually read-only in the page table. Or,
45 since this was consistently rated as the easiest project by the
46 students, require them to do it.
48 - Don't provide per-process pagedir implementation but only
49 single-process implementation and require students to implement
50 the separation? This project was rated as the easiest after all.
51 Alternately we could just remove the synchronization on pid
52 selection and check that students fix it.
56 - Discuss the perils of mixing dirty bits between kernel and user virtual
61 - Update grading/vm to reflect new mmap, munmap forms.
65 - Increase maximum disk size from 8 MB to something that actually
66 requires doubly indirect nodes. There is a negative pressure here
67 from the bitmap object--perhaps we need a specialized bitmap that
68 doesn't have to be all in-memory at once.
70 Alternatively, shrink the inode size.
72 - Add option to disable buffer cache.
76 - Need a better way to measure performance improvement of buffer
77 cache. Some students reported that their system was slower with
78 cache--likely, Bochs doesn't simulate a disk with a realistic
81 - Clarify effect of remove(cwd).
85 - Finish writing tour.
87 - Add "Digging Deeper" sections that describe the nitty-gritty x86
88 details for the benefit of those interested.
90 - Add explanations of what "real" OSes do to give students some
93 - GNU make 3.80 or later is required.
99 . Low-level x86 stuff, like paged page tables.
101 . Specifics on how to implement sbrk, malloc.
105 . opendir/readdir/closedir
107 . everything needed for getcwd()
111 - Release some of them.
113 - The threads, userprog, vm test source files could use
114 factorization and cleanup along the lines of fslib in the filesys
117 - The p1-4.c testcase needs significant tuning. Currently it takes
118 too long (especially when SHOW_PROGRESS is turned on) and doesn't
119 show significant improvement.
123 - Need an optimization barrier and an explanation of it in the
126 - Need to check the wait system call more thoroughly.