COMPSCI 110, Spring 2003 COMPSCI 110,Spring 2006

COMPSCI 110, Spring 2006

Introduction to Operating Systems

Home

Tentative Schedule

Assignments

Policies

Course News

Demo Scheduler

Nachos Assignments

Before 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:

These Lab Notes may also prove valuable.  They include topics like:  setting global variables from the command line, use of AFS, and a few other items found helpful in previous semesters.

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. Warnings:  Once the console is running, using stdin or stdout directly will not work.  Also, the underlying file system is very inefficient if short records are read or written, and doing so will be penalized.

Lab 6: Virtual Memory This assignment covers Sections 3.12, 3.13 and 3.14.

Problem Sets

Jan 24: Problems 1, 4, 7, 8, 9, 15, 17, and 21 from Tanenbaum pp. 153-154(Ch. 2.1-2.3)

Jan 31: Problems 22, 24, 26, 28, 29, 33, and 40 from pp. 153-155.(Ch. 2.3-2.5)

Feb 7: 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 21: 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 28: Problems 6, 8, 11, 14, 15, 16, 18, 20, 21, 22, 23, 25, and 27 from pp. 186-188. (Ch. 3)

Mar 7: Problems 5, 8, 13, 17, 20, 28, 29, 35, and 37 from pp. 263-268 (Ch. 4)

Mar 21: Problems 11, 12, 16, 24, 25, 32, and 46 from pp. 373-378 (Ch. 5)

Apr 4: Problems 5, 8, 9, 20, 30, 36, and 37 from pp. 449-452 (Ch. 6)

Apr 15: Problems 14, 27, 34; pp. 449-452 (Ch. 6)

Apr 18: 6, 8, 10, 13, 22, 30, 31, 32 and 35 from pp. 667-670. (Ch. 9)

Apr 25: 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 Exams

Exam 1 Spring 2004 with answers

Exam 2 Spring 2004 with answers

Exam 1 Spring 2003 -- with answers

Midterm Fall 2002 -- with answers

Final Exam Fall 2001

Problem Set Answers

Challenge 2 answer

Exam 2 Spring 2005 with answers

Final Spring 2005 with answers