-*- text -*-
-* Code:
+* FS and GS:
- - Speed up disk routines: filling an 8 MB disk takes a long time.
- (They're only slow because timer_sleep always waits for at least
- one timer tick.)
+ - struct intr_frame: Add members.
+
+ - intr_entry(): Save, reset.
- - userprog project should 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.
+ - intr_exit(): Restore.
- - For userprog project, don't provide per-process pagedir
- implementation but only single-process implementation and require
- students to implement the separation? This project was rated as
- the easiest after all. Alternately we could just remove the
- synchronization on pid selection and check that students fix it.
+ - execute_thread(): Initialize.
+
+* Userprog project:
+
+ - 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.
+
+ - Don't provide per-process pagedir implementation but only
+ single-process implementation and require students to implement
+ the separation? This project was rated as the easiest after all.
+ Alternately we could just remove the synchronization on pid
+ selection and check that students fix it.
* Documentation:
- 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.
+
* Assignments:
- Add extra credit:
. Other good ideas.
- - The semantics of the join system call should change so that it
- only returns the exit code once.
-
- mmap/munmap should use segment IDs like Nachos. Too hard
otherwise.