-*- text -*-
-* The tests in tests/ don't apply the grading patches.
+* Get rid of rox--causes more trouble than it's worth
-* We need better and more example programs.
+* Reconsider command line arg style--confuses everyone.
- - Need an mmap example program as a replacement for the crappy mmap FAQ
- question.
+* pintos script doesn't (always?) delete temp disks
- - How about `diff' and `cmp' programs?
+* Finish writing tour.
-* Threads:
+via Godmar Back:
- - mlfqs tests suck. They aren't even correct, e.g. the amarv
- submission from win0405 is graded incorrectly.
+* Project 3 solution needs FS lock.
-* Userprog project:
+* Get rid of mmap syscall, add sbrk.
- - 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.
+* hash_destroy() should take function arg.
- - Mark read-only pages as actually read-only in the page table. Or,
- since this was consistently rated as the easiest project by the
- students, require them to do it.
+* Make backtrace program accept multiple object file arguments,
+ e.g. add -u option to allow backtracing user program also.
- - Don't provide per-process pagedir implementation but only
- single-process implementation and require students to implement
- the separation? This project was rated as the easiest after all.
- Alternately we could just remove the synchronization on pid
- selection and check that students fix it.
+* VM projects do not use enough memory to force eviction.
+ Should reduce user limit or increase memory consumption.
-* 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:
+* process_death test needs improvement
- - 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.
+* Internal tests.
- Alternatively, shrink the inode size.
+* Improve automatic interpretation of exception messages.
- - Add mkdir and ls example user programs.
+* Userprog project:
- - Add option to disable buffer cache.
+ - Mark read-only pages as actually read-only in the page table. Or,
+ since this was consistently rated as the easiest project by the
+ students, require them to do it.
- - Get rid of "dump" commands--they're not really useful.
+ - Don't provide per-process pagedir implementation but only
+ single-process implementation and require students to implement
+ the separation? This project was rated as the easiest after all.
+ Alternately we could just remove the synchronization on pid
+ selection and check that students fix it.
- - Sample solution.
+* Filesys project:
- Need a better way to measure performance improvement of buffer
cache. Some students reported that their system was slower with
cache--likely, Bochs doesn't simulate a disk with a realistic
speed.
- - Clarify effect of remove(cwd).
-
* Documentation:
- - Finish writing tour.
-
- Add "Digging Deeper" sections that describe the nitty-gritty x86
details for the benefit of those interested.
. opendir/readdir/closedir
. everything needed for getcwd()
-
- - Add src/testcases/vm, src/testcases/filesys and make it clear to use
- them?
-
-* Tests:
-
- - Release some of them.
-
- - The threads, userprog, vm test source files could use
- factorization and cleanup along the lines of fslib in the filesys
- tests.
-
- - The p1-4.c testcase needs significant tuning. Currently it takes
- too long (especially when SHOW_PROGRESS is turned on) and doesn't
- show significant improvement.
-
-* Code:
-
- - Make printf() test actually check its results.
-
- - Make threads test use a program and arguments like the other
- projects.
-
- - Revise command-line arguments for sensibility instead of for
- Nachos compatibility.
-
- - Get rid of all compile-time flags, e.g. MLFQS should be a runtime
- command-line option.
-
- - Need an optimization barrier and an explanation of it in the
- documentation.
-
- - Need to check the wait system call more thoroughly.