Lectures | Topic |
1 | Introduction |
2-10 | Processes: Address Spaces, Threads, Synchronization, Deadlock, Scheduling |
11-15 | Memory: Segmentation, Paging, Virtual Memory |
16-18 | I/O, Filesystems. |
19-20 | Protection and Security |
21 | Distributed Systems: Introduction |
22-23 | Communication: Client-Server, RPC, Group Communication |
24-26 | Distributed Filesystems |
27-28 | Distributed Shared Memory or Authentication Protocols |
If we can get through the earlier topics more quickly, I will happily spend more time discussing distributed systems.
The lectures are based in part on Tom Anderson's lecture notes for CS162 at UC Berkeley.
Nachos is installed locally in ~c536/nachos-3.4
on both the
Burrow and the Sharks.
Project + occasional problem sets | 40% |
Midterm examination | 23% |
Final examination | 37% |
Project: For Project 4, you can get 15% extra credit by implementing swap-space management that is efficient for sparsely-used address spaces. One way to do this is the first scheme described in a recent posting about swap space.
Project:
(1) Projects 3 and 4 were distributed in last Thursday's discussion section.
(2) Here is some Advice for teams that had difficulty with Project 2.
Final Exam: The final exam will be 5:00PM-7:00PM on Wednesday, December 18, in BH 304. If you have a problem with this, let me know immediately.
Project: Remember that Proj 2 is due on Fri, Nov. 1.
Project:
(1) You don't need to freeze the files from Project 1; you can continue to modify them until you submit Project 2. Revised instructions for submitting and freezing files are in the Project Mechanics Handout; the changes are summarized in a news posting.
(2) Revised project schedule:
Proj 2 due: | Fri, Nov. 1. |
Proj 3 design review: | Fri, Nov. 8, and Sat, Nov. 9 |
Proj 3 due: | Fri, Nov. 15 |
Proj 4 design review: | Fri, Nov. 22, and Sat, Nov. 23 |
Proj 4 due: | Fri, Dec. 6 |
Midterm:
(1) As mentioned in a news posting, the answers to questions 3 and 5 have been revised since printed solutions were distributed on Oct. 16. So, you might want to look at the revised Brief Solutions to the Midterm.
(2) Click for full-size plots showing the Midterm scores for 436 and Midterm scores for 536. Some statistics appear below. Here are smaller plots:
Grades: You can get an idea of your standing in the course from the following statistics (and the above plots for the midterm).
Statistics for 436:
Item | Mean | Stddev |
Project 0 (out of 10) | 9.2 | 1.3 |
Problem Set 1 (out of 15) | 7.2 | 4.7 |
Midterm (out of 90) | 58 (64%) | 11 |
Item | Mean | Stddev |
Project 0 (out of 10) | 9.5 | 1.3 |
Problem Set 1 (out of 20) | 14.7 | 4.4 |
Midterm (out of 90) | 70 (78%) | 15 |
Project:
(1) Design reviews for Project 2 will be held on Fri (Oct. 18, 1PM-6PM), Sat (Oct. 19, 9AM-2PM), and Mon (Oct. 21., 5:30PM-8PM). A sign-up sheet will be available at the midterm and during the discussion section.
(2) Project 5 has been cancelled. Project 4 will be the last project, unless overwhelming popular demand prompts resurrection of Project 5.
Project: Some comments on Projects 1 and 2 have been collected in the Projects 1 and 2 FAQ (last updated Oct. 11).
Midterm:
(1) The midterm will cover material up to and including the lecture of Oct. 7. This corresponds to all of the assigned reading so far, except sections 3.4-3.6 of Tanenbaum. The midterm focuses on the material covered in lecture and in the textbook, not on Nachos.
(2) You might want to look at these Practice Problems for Midterm. These are intended to give you a feeling for the planned level of difficulty of the exam questions. Here are Brief Solutions to Practice Problems for Midterm.
Project: A sign-up sheet to schedule design reviews for Project 1 will be available in this week's discussion section. As per the handout, the design reviews should occur on Fri and Sat of this week.
Homework: Problem Set 1 was distributed on Sep. 23. It is a problem set, not a programming assignment. It must be done individually, not in teams. It is technically due in lecture on Mon., Sep. 30, though I suggest you try to finish it by Fri., Sep 27, so you can get started on Project 1. Some comments on Problem Set 1 have been collected in the Problem Set 1 FAQ.
Exam Schedule: The midterm will be in-class on Wed., Oct. 16.
Project:
(1) Project 1 was distributed on Sep. 25. It is due by the end of the day on Fri, Oct. 11. Design reviews for Project 1 will be held on Fri and Sat, Oct. 4 and 5. Projects 1 and 2 are the same for 436 and 536.
(2) We strongly recommend that you carefully read both Thomas Narten's A Road Map Through Nachos (except the parts about virtual memory) and Mike O'Donnell's Guide to Reading the [Nachos] Source Code, if you haven't already.
(3) To help you schedule your semester, here are tentative due dates for future projects: Project 3, due Sun, Nov. 10; Project 4, due Sun, Nov. 24; Project 5, due Sat, Dec. 14. [This has changed; see below.]
Textbook Readings: start Tanenbaum, Chapter 6.
Project: Project 0 is due on Sep. 20. The instructions in the Project Mechanics handout for submitting a project were flawed. A posting to ac.c.436 describes the problem; you can also read that posting here.
Project:
(1) You should read A Quick
Introduction to C++, by Tom Anderson. This was distributed in the
discussion section on Sep. 5; if you didn't get a copy, you can print one
yourself, or you can ask us to print one. I recommend reading it even
if you are familiar with C++, because it contains some useful stylistic
guidelines. The code for the stack example is in
~c536/docs/c++example/
.
(2) A detailed version of Project 0 was distributed on Sep. 11. It is due on Sep. 20.
Project:
(1) Try to form teams by Monday, Sep. 9, so that you can start on Assignment 1 when it is distributed. As mentioned in the Project Mechanics Handout, you should notify us by email when you form a team.
(2) Read the Project Mechanics Page.
(3) Start reading the A Road Map Through Nachos and the
code in ~c536/nachos-3.4/code/threads
. Printouts of the Roadmap
and the threads
code will be distributed on Sep. 4.
Another very helpful resource is Mike O'Donnell's Guide
to Reading the [Nachos] Source Code. Mike's Guide is available only
in HTML format, so we won't be supplying printouts; this doesn't mean
you shouldn't read it!