summaryrefslogtreecommitdiffstats
path: root/doc/threads.tmpl
diff options
context:
space:
mode:
Diffstat (limited to 'doc/threads.tmpl')
-rw-r--r--doc/threads.tmpl82
1 files changed, 82 insertions, 0 deletions
diff --git a/doc/threads.tmpl b/doc/threads.tmpl
new file mode 100644
index 0000000..c3df5fe
--- /dev/null
+++ b/doc/threads.tmpl
@@ -0,0 +1,82 @@
1 +--------------------+
2 | CS 140 |
3 | PROJECT 1: THREADS |
4 | DESIGN DOCUMENT |
5 +--------------------+
6
7---- GROUP ----
8
9>> Fill in the names and email addresses of your group members.
10
11FirstName LastName <email@domain.example>
12FirstName LastName <email@domain.example>
13FirstName LastName <email@domain.example>
14
15---- PRELIMINARIES ----
16
17>> If you have any preliminary comments on your submission, notes for the
18>> TAs, or extra credit, please give them here.
19
20>> Please cite any offline or online sources you consulted while
21>> preparing your submission, other than the Pintos documentation, course
22>> text, lecture notes, and course staff.
23
24
25 PRIORITY SCHEDULING
26 ===================
27
28---- DATA STRUCTURES ----
29
30>> B1: Copy here the declaration of each new or changed `struct' or
31>> `struct' member, global or static variable, `typedef', or
32>> enumeration. Identify the purpose of each in 25 words or less.
33
34>> B2: Explain the data structure used to track priority donation.
35>> Use ASCII art to diagram a nested donation. (Alternately, submit a
36>> .png file.)
37
38---- ALGORITHMS ----
39
40>> B3: How do you ensure that the highest priority thread waiting for
41>> a lock, semaphore, or condition variable wakes up first?
42
43>> B4: Describe the sequence of events when a call to lock_acquire()
44>> causes a priority donation. How is nested donation handled?
45
46>> B5: Describe the sequence of events when lock_release() is called
47>> on a lock that a higher-priority thread is waiting for.
48
49---- SYNCHRONIZATION ----
50
51>> B6: Describe a potential race in thread_set_priority() and explain
52>> how your implementation avoids it. Can you use a lock to avoid
53>> this race?
54
55---- RATIONALE ----
56
57>> B7: Why did you choose this design? In what ways is it superior to
58>> another design you considered?
59
60 SURVEY QUESTIONS
61 ================
62
63Answering these questions is optional, but it will help us improve the
64course in future quarters. Feel free to tell us anything you
65want--these questions are just to spur your thoughts. You may also
66choose to respond anonymously in the course evaluations at the end of
67the quarter.
68
69>> In your opinion, was this assignment, or any one of the three problems
70>> in it, too easy or too hard? Did it take too long or too little time?
71
72>> Did you find that working on a particular part of the assignment gave
73>> you greater insight into some aspect of OS design?
74
75>> Is there some particular fact or hint we should give students in
76>> future quarters to help them solve the problems? Conversely, did you
77>> find any of our guidance to be misleading?
78
79>> Do you have any suggestions for the TAs to more effectively assist
80>> students, either for future quarters or the remaining projects?
81
82>> Any other comments?