More to do.
[pintos-anon] / TODO
1 -*- text -*-
2
3 * The tests in tests/ don't apply the grading patches.
4
5 * We need better example programs.
6
7 * Threads:
8
9   - join-invalid doesn't compile if tid_t is not scalar type.
10
11   - mlfqs tests suck.  They aren't even correct, e.g. the amarv
12     submission from win0405 is graded incorrectly.
13
14 * Userprog project:
15
16   - Don't emphasize that stuff needs to be copied from user space to
17     kernel space.  Instead, emphasize validation and suggest that
18     copying is a common solution and that it will be necessary in
19     project 3 and in real OSes.  Also revise the grading criteria to
20     match.
21
22   - Move `join' implementation here, from `threads' project, to help
23     normalize the project difficulties.
24
25   - The semantics of the join system call should change so that it
26     only returns the exit code once.
27
28   - Mark read-only pages as actually read-only in the page table.  Or,
29     since this was consistently rated as the easiest project by the
30     students, require them to do it.
31
32   - Don't provide per-process pagedir implementation but only
33     single-process implementation and require students to implement
34     the separation?  This project was rated as the easiest after all.
35     Alternately we could just remove the synchronization on pid
36     selection and check that students fix it.
37
38 * Filesys project:
39
40   - Increase maximum disk size from 8 MB to something that actually
41     requires doubly indirect nodes.  There is a negative pressure here
42     from the bitmap object--perhaps we need a specialized bitmap that
43     doesn't have to be all in-memory at once.
44
45     Alternatively, shrink the inode size.
46
47   - Add mkdir and ls example user programs.
48
49 * Documentation:
50
51   - Finish writing tour.
52
53   - Add "Digging Deeper" sections that describe the nitty-gritty x86
54     details for the benefit of those interested.
55
56   - Add explanations of what "real" OSes do to give students some
57     perspective.
58
59 * Assignments:
60
61   - Add extra credit:
62
63     . Low-level x86 stuff, like paged page tables.
64
65     . Other good ideas.
66
67   - mmap/munmap should use segment IDs like Nachos.  Too hard
68     otherwise.
69
70   - Add src/testcases/vm, src/testcases/filesys and make it clear to use
71     them?
72
73 * Tests:
74
75   - Release some of them.
76
77   - The threads, userprog, vm test source files could use
78     factorization and cleanup along the lines of fslib in the filesys
79     tests.
80
81   - The p1-4.c testcase needs significant tuning.  Currently it takes
82     too long (especially when SHOW_PROGRESS is turned on) and doesn't
83     show significant improvement.
84