X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=TODO;h=726b11801f8e53185edc813ce1cd37d7bbf95d10;hb=ad15679e64c257df1447acebeed22d1f76607ff6;hp=7c9c42b841e0c2f820c789c315eb17f8491d751a;hpb=21608dd0aeb9880516e71cc6e9b16e58224118c4;p=pintos-anon diff --git a/TODO b/TODO index 7c9c42b..726b118 100644 --- a/TODO +++ b/TODO @@ -1,52 +1,25 @@ -*- text -*- -* Test pintos with GSX. +* Get rid of rox--causes more trouble than it's worth -* Get rid of warnings for NDEBUG build. +* Reconsider command line arg style--confuses everyone. -* Need targets for checking single tests or single subdirs +* pintos script doesn't (always?) delete temp disks - - `make check' should say how to get more information +* Finish writing tour. - - `make recheck', `make clean-check' -* Need to put time limits on tests. -* Add a way for students to prints messages ignored by the autograder. - - Ignore text between /* and */. - - Allow for a comment on `exit' lines? +* process_death test needs improvement -* Improve automatic interpretation of exception messages. - -* Remove names from synchronization primitives? They don't seem - useful in practice. - -* debug_backtrace() in kernel should only dereference valid pointers. - -* Mention how to use add-symbol-file in gdb. - -* We need better and more example programs. - - - Need an mmap example program as a replacement for the crappy mmap FAQ - question. - - - How about `diff' and `cmp' programs? +* Internal tests. -* Threads: - - - mlfqs tests suck. They aren't even correct, e.g. the amarv - submission from win0405 is graded incorrectly. +* Improve automatic interpretation of exception messages. * 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. - - 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. @@ -57,47 +30,21 @@ 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 option to disable buffer cache. - - - Sample solution. - - 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. - Add explanations of what "real" OSes do to give students some perspective. - - GNU make 3.80 or later is required. - * Assignments: - Add extra credit: @@ -111,22 +58,3 @@ . opendir/readdir/closedir . everything needed for getcwd() - -* 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: - - - Need an optimization barrier and an explanation of it in the - documentation. - - - Need to check the wait system call more thoroughly.