CS170: Operating Systems (undergrad)


Lab number and topicDueWeight
Lab 1: C review, WeensyOS Miniprocos, git 04/03 20%
Lab 2: Shell 04/18 20%
Lab 3: Multithreaded programming 04/26 (part A) and 05/01 (part B) 20%
Lab 4: Software skills, gdb, WeensyOS Schedos 05/13 20%
Lab 5: WeensyOS Memos 05/26 20%
Lab 6 (optional) File system 06/07 20% (If you do this lab, we will take top 5 scores of your labs.)


A crucial component of the course is the lab assignments. You should expect these labs to require you to spend substantial time programming. We will have labs due every week or every other week.

A number of our labs will use WeensyOS, a series of tiny, standalone operating systems. They are very instructive. They are also fun! WeensyOS, and some of our other labs, were developed by Eddie Kohler.

Lab assignments are to be worked on alone.

Asking for help

We (the course staff) are happy and even eager to help on the labs. When should you ask for such help? Mainly, you should use your judgment (the rough answer is: "when you're actually stuck"). Below are some guidelines.

First, one of the main purposes of the labs is for you to go through the exercise of figuring out how to make a system work. Thus, if a lab is at first confusing even in its instructions, please don't be discouraged; understanding the instructions is part of the work of the labs! Similarly, if your code is failing a test, note that the job of the course staff is not to help your code to pass but to help you to figure out how to solve the problem.

Second, these labs take time, and you're expected to think through both the labs and the replies of the course staff. As an example, if you get a reply from a TA, and then send email 20 minutes later asking a closely related question, that's probably not great.

A final note

Some of these labs will be challenging. We hope they will also be very satisfying. We will work to help you meet the challenge. Our hope and expectation is that everyone who works hard on the labs will succeed. If you have ideas for improving the labs, please let us know. Good luck!

Last updated: 2020-05-28 15:40:07 -0700 [validate xhtml]