diff options
Diffstat (limited to 'proj0.txt')
| -rw-r--r-- | proj0.txt | 23 |
1 files changed, 19 insertions, 4 deletions
| @@ -3,14 +3,14 @@ | |||
| 3 | | PROJECT 0: INTRO | | 3 | | PROJECT 0: INTRO | |
| 4 | | DESIGN DOCUMENT | | 4 | | DESIGN DOCUMENT | |
| 5 | +--------------------+ | 5 | +--------------------+ |
| 6 | 6 | ||
| 7 | ---- GROUP ---- | 7 | ---- GROUP ---- |
| 8 | 8 | ||
| 9 | >> Fill in the names and email addresses of your group members. | 9 | >> Fill in the names and email addresses of your group members. |
| 10 | 10 | ||
| 11 | FirstName LastName <email@domain.example> | 11 | Peter Ketscher <e9651415@mail.student.tuwien.ac.at> |
| 12 | FirstName LastName <email@domain.example> | 12 | Karoline Koth <e0326266@student.tuwien.ac.at> |
| 13 | FirstName LastName <email@domain.example> | 13 | Manuel Mausz <manuel-uni@mausz.at> |
| 14 | 14 | ||
| 15 | ---- PRELIMINARIES ---- | 15 | ---- PRELIMINARIES ---- |
| 16 | 16 | ||
| @@ -21,6 +21,7 @@ FirstName LastName <email@domain.example> | |||
| 21 | >> preparing your submission, other than the Pintos documentation, course | 21 | >> preparing your submission, other than the Pintos documentation, course |
| 22 | >> text, lecture notes, and course staff. | 22 | >> text, lecture notes, and course staff. |
| 23 | 23 | ||
| 24 | TODO | ||
| 24 | ALARM CLOCK | 25 | ALARM CLOCK |
| 25 | =========== | 26 | =========== |
| 26 | 27 | ||
| @@ -30,27 +31,41 @@ FirstName LastName <email@domain.example> | |||
| 30 | >> `struct' member, global or static variable, `typedef', or | 31 | >> `struct' member, global or static variable, `typedef', or |
| 31 | >> enumeration. Identify the purpose of each in 25 words or less. | 32 | >> enumeration. Identify the purpose of each in 25 words or less. |
| 32 | 33 | ||
| 34 | struct thread: | ||
| 35 | int64_t alarm_tick ...absolute tick when to trigger an alarm event | ||
| 36 | |||
| 33 | ---- ALGORITHMS ---- | 37 | ---- ALGORITHMS ---- |
| 34 | 38 | ||
| 35 | >> A2: Briefly describe what happens in a call to timer_sleep(), | 39 | >> A2: Briefly describe what happens in a call to timer_sleep(), |
| 36 | >> including the effects of the timer interrupt handler. | 40 | >> including the effects of the timer interrupt handler. |
| 37 | 41 | ||
| 42 | TODO | ||
| 43 | |||
| 38 | >> A3: What steps are taken to minimize the amount of time spent in | 44 | >> A3: What steps are taken to minimize the amount of time spent in |
| 39 | >> the timer interrupt handler? | 45 | >> the timer interrupt handler? |
| 40 | 46 | ||
| 47 | TODO | ||
| 48 | |||
| 41 | ---- SYNCHRONIZATION ---- | 49 | ---- SYNCHRONIZATION ---- |
| 42 | 50 | ||
| 43 | >> A4: How are race conditions avoided when multiple threads call | 51 | >> A4: How are race conditions avoided when multiple threads call |
| 44 | >> timer_sleep() simultaneously? | 52 | >> timer_sleep() simultaneously? |
| 45 | 53 | ||
| 54 | TODO | ||
| 55 | |||
| 46 | >> A5: How are race conditions avoided when a timer interrupt occurs | 56 | >> A5: How are race conditions avoided when a timer interrupt occurs |
| 47 | >> during a call to timer_sleep()? | 57 | >> during a call to timer_sleep()? |
| 48 | 58 | ||
| 59 | We've disabled the interrupts during list operations. | ||
| 60 | |||
| 49 | ---- RATIONALE ---- | 61 | ---- RATIONALE ---- |
| 50 | 62 | ||
| 51 | >> A6: Why did you choose this design? In what ways is it superior to | 63 | >> A6: Why did you choose this design? In what ways is it superior to |
| 52 | >> another design you considered? | 64 | >> another design you considered? |
| 53 | 65 | ||
| 66 | It's very simple, doesn't require any complex structures and memory allocations | ||
| 67 | and fulfills the needs of project0. | ||
| 68 | |||
| 54 | ARGUMENT PASSING | 69 | ARGUMENT PASSING |
| 55 | ================ | 70 | ================ |
| 56 | 71 | ||
