COMPSCI 110, Spring 2003Introduction to Operating Systems |
|
|
|
Nachos AssignmentsBefore starting any assignment you should be familiar with the material in Nachos Project Policies and Mechanisms , which presents the policies and procedures that apply to all of the Nachos assignments. You will find the information in Working With Nachos valuable for some or all of the labs. The system call definitions in Nachos System Call Interface are important for Labs 4 and 5. Note that the labs for this
semester have been slightly restructured from previous semesters and differ
from the descriptions in the Nachos
Lab Modules in the Nachos Guide. The definitive versions for this
semester are given below: Lab 1: The Trouble with Concurrent Programming. This lab does correspond more or less directly to Section 3.1 in the Lab Modules. In addition to what is specified there, we want to emphasize the importance of the quality of your output. The goal of this exercise is to help you develop debugging strategies for concurrent programs. In future labs, you will not necessarily expect to observe bad behavior or have a good idea of the causes. So you should carefully think about (and we will base part of the grade on) what kinds of information you need to output in order to determine that there is, in fact, a bug and to identify the cause. Does your output help you to explain which thread is doing what and when it is doing it relative to other threads? For instructions on building
Nachos see these Lab
Notes. Lab 2: Threads and Synchronization.
This assignment covers
Sections 3.2,
3.3,
and 3.5
in the Lab Modules. Lab
3: Programming with Threads. This assignment covers Sections 3.4,
3.6,
and 3.7.
Here is code for Elevator.h mentioned in section 3.4.
Lab
4: Multiprogrammed Kernel This
assignment covers Section 3.8
. The Extra Credit in Section 3.8.5
is tempting, but I warn you it is rarely done correctly. On the other
hand, people often overlook the required Section 3.8.6
-- don't forget it. This is the hardest of the labs so start early.
Code for LoadPage
mentioned in guide. Lab
5: I/O
This assignment covers Sections 3.9
and 3.10.
Extra credit for this assignment is described in 3.11.
There is code for VAtoPA
mentioned in the guide.
Lab
6: Virtual Memory This assignment covers Sections 3.12,
3.13
and 3.14.
Problem SetsJan 22/23: Problems 1, 4, 7, 8, 9, 15, 17, and 21 from Tanenbaum pp. 153-154(Ch. 2.1-2.3) Jan 29/30: Problems 22, 24, 26, 28, 29, 33, and 40 from pp. 153-155.(Ch. 2.3-2.5) Feb 5/6: Problems 35, 37, 38, 44, 50, and 51 from 156-157 and Problems 12 and 14 from p. 500.(Ch. 2.3-2.5, 7.4) Feb 12/13: Problems 1, 2, 9, 14, 22, 24, and 25 from pp. 578-582 and problems 7, 9, 12, 17, and 18 from p. 758.(Ch. 8, 10.3) Feb 19/20: Problems 6, 8, 11, 14, 15, 16, 18, 20, 21, 22, 23, 25, and 27 from pp. 186-188. (Ch. 3) Mar 5/6: Problems 5, 8, 13, 17, 20, 28, 29, 35, and 37 from pp. 263-268 (Ch. 4) Mar 19/20: Problems 11, 12, 16, 24, 25, 32, and 46 from pp. 373-378 (Ch. 5) Mar 26/27: Problems 5, 8, 9, 20, 30, 36, and 37 from pp. 449-452 (Ch. 6) Apr 2/3: Problems 14, 27, 34; pp. 449-452 (Ch. 6) Apr 9/10: 6, 8, 10, 13, 22, 30, 31, 32 and
35 from pp. 667-670. (Ch. 9) Apr 16/17: Exam review problems: pp. 153-158: 18, 40; pp. 186-188: 12, 28; pp. 263-268: 14, 27, 34; pp. 449-452: 7, 13, 17, 23; pp. 758-759: 11, 16. Old ExamsChallenge Problem with answers Exam 1 Spring 2003 -- with answers Exam 2 Spring 2003 -- with answers Midterm Fall 2002 -- with answers |