diff options
| author | manuel <manuel@mausz.at> | 2012-03-26 12:54:45 +0200 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2012-03-26 12:54:45 +0200 |
| commit | b5f0874cd96ee2a62aabc645b9626c2749cb6a01 (patch) | |
| tree | 1262e4bbe0634de6650be130c36e0538240f4cbf /doc/start.tmpl | |
| download | progos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.tar.gz progos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.tar.bz2 progos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.zip | |
initial pintos checkin
Diffstat (limited to 'doc/start.tmpl')
| -rw-r--r-- | doc/start.tmpl | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/doc/start.tmpl b/doc/start.tmpl new file mode 100644 index 0000000..83b17ad --- /dev/null +++ b/doc/start.tmpl | |||
| @@ -0,0 +1,101 @@ | |||
| 1 | +--------------------+ | ||
| 2 | | OS Development | | ||
| 3 | | PROJECT 0: INTRO | | ||
| 4 | | DESIGN DOCUMENT | | ||
| 5 | +--------------------+ | ||
| 6 | |||
| 7 | ---- GROUP ---- | ||
| 8 | |||
| 9 | >> Fill in the names and email addresses of your group members. | ||
| 10 | |||
| 11 | FirstName LastName <email@domain.example> | ||
| 12 | FirstName LastName <email@domain.example> | ||
| 13 | FirstName 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 | ALARM CLOCK | ||
| 25 | =========== | ||
| 26 | |||
| 27 | ---- DATA STRUCTURES ---- | ||
| 28 | |||
| 29 | >> A1: Copy here the declaration of each new or changed `struct' or | ||
| 30 | >> `struct' member, global or static variable, `typedef', or | ||
| 31 | >> enumeration. Identify the purpose of each in 25 words or less. | ||
| 32 | |||
| 33 | ---- ALGORITHMS ---- | ||
| 34 | |||
| 35 | >> A2: Briefly describe what happens in a call to timer_sleep(), | ||
| 36 | >> including the effects of the timer interrupt handler. | ||
| 37 | |||
| 38 | >> A3: What steps are taken to minimize the amount of time spent in | ||
| 39 | >> the timer interrupt handler? | ||
| 40 | |||
| 41 | ---- SYNCHRONIZATION ---- | ||
| 42 | |||
| 43 | >> A4: How are race conditions avoided when multiple threads call | ||
| 44 | >> timer_sleep() simultaneously? | ||
| 45 | |||
| 46 | >> A5: How are race conditions avoided when a timer interrupt occurs | ||
| 47 | >> during a call to timer_sleep()? | ||
| 48 | |||
| 49 | ---- RATIONALE ---- | ||
| 50 | |||
| 51 | >> A6: Why did you choose this design? In what ways is it superior to | ||
| 52 | >> another design you considered? | ||
| 53 | |||
| 54 | ARGUMENT PASSING | ||
| 55 | ================ | ||
| 56 | |||
| 57 | ---- DATA STRUCTURES ---- | ||
| 58 | |||
| 59 | >> A1: Copy here the declaration of each new or changed `struct' or | ||
| 60 | >> `struct' member, global or static variable, `typedef', or | ||
| 61 | >> enumeration. Identify the purpose of each in 25 words or less. | ||
| 62 | |||
| 63 | ---- ALGORITHMS ---- | ||
| 64 | |||
| 65 | >> A2: Briefly describe how you implemented argument parsing. How do | ||
| 66 | >> you arrange for the elements of argv[] to be in the right order? | ||
| 67 | >> How do you avoid overflowing the stack page? | ||
| 68 | |||
| 69 | ---- RATIONALE ---- | ||
| 70 | |||
| 71 | >> A3: Why does Pintos implement strtok_r() but not strtok()? | ||
| 72 | |||
| 73 | >> A4: In Pintos, the kernel separates commands into a executable name | ||
| 74 | >> and arguments. In Unix-like systems, the shell does this | ||
| 75 | >> separation. Identify at least two advantages of the Unix approach. | ||
| 76 | |||
| 77 | |||
| 78 | |||
| 79 | SURVEY QUESTIONS | ||
| 80 | ================ | ||
| 81 | |||
| 82 | Answering these questions is optional, but it will help us improve the | ||
| 83 | course in future quarters. Feel free to tell us anything you | ||
| 84 | want--these questions are just to spur your thoughts. You may also | ||
| 85 | choose to respond anonymously in the course evaluations at the end of | ||
| 86 | the quarter. | ||
| 87 | |||
| 88 | >> In your opinion, was this assignment, or any one of the three problems | ||
| 89 | >> in it, too easy or too hard? Did it take too long or too little time? | ||
| 90 | |||
| 91 | >> Did you find that working on a particular part of the assignment gave | ||
| 92 | >> you greater insight into some aspect of OS design? | ||
| 93 | |||
| 94 | >> Is there some particular fact or hint we should give students in | ||
| 95 | >> future quarters to help them solve the problems? Conversely, did you | ||
| 96 | >> find any of our guidance to be misleading? | ||
| 97 | |||
| 98 | >> Do you have any suggestions for the TAs to more effectively assist | ||
| 99 | >> students, either for future quarters or the remaining projects? | ||
| 100 | |||
| 101 | >> Any other comments? | ||
