X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=TODO;h=d4afd5c0ad8b2782c3403364270b50bdc385c903;hb=12399ec5a71cb2fde72835f6abde1cef8e6057e6;hp=711a4ef3264763f060ab48f6ba2b4eac1e1d4528;hpb=eb852c21dbad39bb4a7e7803a7bb09b3aac7322d;p=pintos-anon diff --git a/TODO b/TODO index 711a4ef..d4afd5c 100644 --- a/TODO +++ b/TODO @@ -2,7 +2,15 @@ * The tests in tests/ don't apply the grading patches. -* We need better example programs. +* 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? + +* Make it clear that the students own their code, because there was some + confusion on that point. * Threads: @@ -35,6 +43,15 @@ 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 @@ -50,6 +67,15 @@ - Get rid of "dump" commands--they're not really useful. + - 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. @@ -66,10 +92,13 @@ . Low-level x86 stuff, like paged page tables. + . Specifics on how to implement sbrk, malloc. + . Other good ideas. - - mmap/munmap should use segment IDs like Nachos. Too hard - otherwise. + . opendir/readdir/closedir + + . everything needed for getcwd() - Add src/testcases/vm, src/testcases/filesys and make it clear to use them? @@ -86,3 +115,11 @@ too long (especially when SHOW_PROGRESS is turned on) and doesn't show significant improvement. +* Code: + + - Rewrite quick_sort() to use heap sort, for O(1) stack usage. + + - Rewrite list_sort() to use merge sort, for O(1) heap usage. + + - Make list_elem and hash_elem a struct, by encapsulating a struct + list_elem inside a struct hash_elem as a member.