a07e2b422e21fe45b32a9f4cb5dc37c3ceb297b7
[pintos-anon] / TODO
1 -*- text -*-
2
3 * Clean up:
4
5   - Replace AT&T assembly code by Intel assembly so that students can
6     figure out the asm from the Intel manuals.  Compare object files
7     before and after to make sure nothing changed.
8
9 * Userprog project:
10
11   - Move `join' implementation here, from `threads' project, to help
12     normalize the project difficulties.
13
14   - The semantics of the join system call should change so that it
15     only returns the exit code once.
16
17   - Mark read-only pages as actually read-only in the page table.  Or,
18     since this was consistently rated as the easiest project by the
19     students, require them to do it.
20
21   - Don't provide per-process pagedir implementation but only
22     single-process implementation and require students to implement
23     the separation?  This project was rated as the easiest after all.
24     Alternately we could just remove the synchronization on pid
25     selection and check that students fix it.
26
27 * Documentation:
28
29   - Finish writing tour.
30
31   - Add "Digging Deeper" sections that describe the nitty-gritty x86
32     details for the benefit of those interested.
33
34   - Add explanations of what "real" OSes do to give students some
35     perspective.
36
37 * Assignments:
38
39   - Add extra credit:
40
41     . Low-level x86 stuff, like paged page tables.
42
43     . Other good ideas.
44
45   - mmap/munmap should use segment IDs like Nachos.  Too hard
46     otherwise.
47
48   - Add src/testcases/vm, src/testcases/filesys and make it clear to use
49     them?
50
51 * Tests:
52
53   - Release some of them.
54
55   - The threads, userprog, vm test source files could use
56     factorization and cleanup along the lines of fslib in the filesys
57     tests.
58
59   - The p1-4.c testcase needs significant tuning.  Currently it takes
60     too long (especially when SHOW_PROGRESS is turned on) and doesn't
61     show significant improvement.
62