More to-do.
[pintos-anon] / TODO
diff --git a/TODO b/TODO
index 1650b14625b72fc7cd528efb6d63baae2958791e..ac46639a58fe89733ad6889dfd728a1a262e80e8 100644 (file)
--- a/TODO
+++ b/TODO
@@ -2,6 +2,14 @@
 
 * The tests in tests/ don't apply the grading patches.
 
 
 * The tests in tests/ don't apply the grading patches.
 
+* We need better and more example programs.
+
+  - Need an mmap example program as a replacement for the crappy mmap FAQ
+    question.
+
+* Make it clear that the students own their code, because there was some
+  confusion on that point.
+
 * Threads:
 
   - join-invalid doesn't compile if tid_t is not scalar type.
 * Threads:
 
   - join-invalid doesn't compile if tid_t is not scalar type.
 
 * Userprog project:
 
 
 * Userprog project:
 
+  - Don't emphasize that stuff needs to be copied from user space to
+    kernel space.  Instead, emphasize validation and suggest that
+    copying is a common solution and that it will be necessary in
+    project 3 and in real OSes.  Also revise the grading criteria to
+    match.
+
   - Move `join' implementation here, from `threads' project, to help
     normalize the project difficulties.
 
   - Move `join' implementation here, from `threads' project, to help
     normalize the project difficulties.
 
     Alternately we could just remove the synchronization on pid
     selection and check that students fix it.
 
     Alternately we could just remove the synchronization on pid
     selection and check that students fix it.
 
+* VM project:
+
+  - Discuss the perils of mixing dirty bits between kernel and user virtual
+    memory.
+
+  - Sample solution.
+
+  - Update grading/vm to reflect new mmap, munmap forms.
+
+* Filesys project:
+
+  - Increase maximum disk size from 8 MB to something that actually
+    requires doubly indirect nodes.  There is a negative pressure here
+    from the bitmap object--perhaps we need a specialized bitmap that
+    doesn't have to be all in-memory at once.
+
+    Alternatively, shrink the inode size.
+
+  - Add mkdir and ls example user programs.
+
+  - Add option to disable buffer cache.
+
+  - Get rid of "dump" commands--they're not really useful.
+
+  - Sample solution.
+
 * Documentation:
 
   - Finish writing tour.
 * Documentation:
 
   - Finish writing tour.
 
     . Low-level x86 stuff, like paged page tables.
 
 
     . Low-level x86 stuff, like paged page tables.
 
-    . Other good ideas.
+    . Specifics on how to implement sbrk, malloc.
 
 
-  - mmap/munmap should use segment IDs like Nachos.  Too hard
-    otherwise.
+    . Other good ideas.
 
   - Add src/testcases/vm, src/testcases/filesys and make it clear to use
     them?
 
   - Add src/testcases/vm, src/testcases/filesys and make it clear to use
     them?