-*- text -*-
-* The tests in tests/ don't apply the grading patches.
+* Test pintos with GSX.
+
+* Need targets for checking single tests or single subdirs
+
+ - `make check' should say how to get more information
+
+ - `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?
+
+ . Get rid of LOAD_ERROR() macro by calling thread_exit() directly.
+
+* Improve automatic interpretation of exception messages.
* We need better and more example programs.
- How about `diff' and `cmp' programs?
-* 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.
-
- mlfqs tests suck. They aren't even correct, e.g. the amarv
submission from win0405 is graded incorrectly.
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.
-
- - The semantics of the join system call should change so that it
- only returns the exit code once.
-
- 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.
- 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
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.
-
- 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
- Add explanations of what "real" OSes do to give students some
perspective.
+ - GNU make 3.80 or later is required.
+
* Assignments:
- Add extra credit:
. 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.
* 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.
+ - Need an optimization barrier and an explanation of it in the
+ documentation.
- - Make list_elem and hash_elem a struct, by encapsulating a struct
- list_elem inside a struct hash_elem as a member.
+ - Need to check the wait system call more thoroughly.