Information for UCLA CS111, Summer 2015 --- Operating System Principles

This page is organized by the weeks of the quarter in which lectures were given. The weeks are in inverse order, on the assumption you will most often be looking for the most recent week.

This class will be taught by Peter Reiher. The textbook is Principles of Computer System Design, by Jerome Saltzer and Frans Kaashoek. Assigned readings are from this book, unless otherwise indicated. Some chapters of this textbook are not in the hard copy version, but are only available on-line. For these readings, I will provide a URL.

I will be lecturing on these subjects during the class. Note that this syllabus is a statement of my intentions, NOT a guarantee that particular things will happen on particular dates. If you need to ensure that a vacation or business trip does not conflict with an important part of the class, speak to me. Don't just assume that the syllabus is absolutely correct.

The slides used in the lectures are posted in Powerpoint via links below for the particular week in which the lecture was given. Because some people have trouble with the Powerpoint versions of the slides, I am also posting PDF versions. The PDF versions do not support the animations, however.

Office Hours

My office hours are 1-2 Tuesdays and Thursday. They are held in 3532F Boelter Hall. If you need to see me but can't come to these office hours, send me email. I'm on campus a lot and we can probably work out another time.

TA and Labs

The TA for the course is Mevlut Turker Garip (mtgarip@cs.ucla.edu). He will be responsible for all issues related to the lab projects and design problems. Questions on these should be directed to him.

I will make the basic lab materials available on this site. Solutions will be handed in via the Summer Session CCLE site.

Final Examination

The final examination for CS 111 will be held during the regular recitation section time on Friday, August 14, in BH 2444. The final exam is open book, open notes. You may either write your answers on paper or provide a PDF version of your answers at the end of the exam period.

The exam will cover the entire class, including all lecture material and all assigned readings. Any material covered ONLY as part of one of the labs will not appear on the test, though material covered in both lecture and labs could be there. The final exam questions will emphasize understanding of important concepts and design alternatives, and will require you to apply them to new problems we have not discussed in class. Here are some sample final exam questions that are similar in nature to what might appear on the test, along with guidelines for suitable answers. You will be given a choice of six questions, from which you can choose any three to answer that you want.

One note on covered material: some lectures include "hidden slides," which were not lectured on. Material that is found ONLY on these hidden slides (and not, for example, in assigned readings) will not appear on the final exam. The PDF versions of the lectures do not distinguish between regular slides and hidden slides, so if you want to avoid studying this material, look at them in the Powerpoint version.

Week 8 (August 10 - August 16)

We have fallen behind on lectures, so only one new lecture will be posted this week.

Lecture 14:

Computer Security

Assigned readings:

Reading assignment: Chapter 11, Overview and section 11.1, pages 11-4 to 11-28. Chapter 11, section 11.3, pages 11-36 to 11-48. These readings are part of the online textbook and can be found here.

Slides:

Lecture 14.

Lecture 14, PDF version.

Week 7 (August 3 - August 9)

Lecture 12: Network and Distributed File Systems

Assigned readings:

Chapter 3, section 3.2, pages 132-138.

A Survey of Distributed File Systems, M. Satyanarayanan, Annual Review of Computer Science, 1990. You only need to read sections 1, 2, 3.1, and 3.3.

Slides:

Lecture 12.

Lecture 12, PDF version.

Lecture 13: Distributed Systems

Assigned readings:

Chapter 4, section 4.5, pages 184-195.

What Cloud Computing Really Means, Eric Knorr, Galen Gruman, Infoworld.

Slides:

Lecture 13.

Lecture 13, PDF version.

Week 6 (July 27 - August 2)

I will be out of town for this entire week, and thus will not be holding the lectures or office hours. To prevent us from falling further behind, I have taped two lectures for this week and made them available to you on line. You should watch each of them at some time during this week. They are each divided into three parts, to allow you to deal with them in shorter pieces, rather than one long lecture. I have also posted the Powerpoint slides and the PDF versions of those slides, along with pointers to readings for these lectures.

You may need to either be on campus or using the UCLA VPN to access these taped lectures.

Turker, our TA, will hold his recitation section and office hours as usual.

Lecture 10:

File Systems: Performance, Naming, and Reliability

Assigned readings:

Chapter 2, section 2.5. (pages 91-112)

Chapter 8, Sections 8.1.1 (pages 8-3 to 8-6), 8.2.1 (pages 8-8 to 8-13), and 8.5.4 (pages 8-40 to 8-51). Here is a link to the PDF online version of Chapter 8.

Links to the taped version of lecture 10

Lecture 10, Part 1.

Lecture 10, Part 2.

Lecture 10, Part 3.

Slides:

Lecture 10.

Lecture 10, PDF version.

Lecture 11:

Networking in Operating Systems

Assigned readings:

Chapter 7, section 7.1, pages 7-1 through 7-20. Here is a link to the PDF online version of Chapter 7.

Fallacies of Distributed Computing Explained, Amon Rotem-Gai-Oz.

Chapter 9, section 9.6.3. Here is a link to the PDF online version of Chapter 9.

Links to the taped version of lecture 11

Lecture 11, Part 1.

Lecture 11, Part 2.

Lecture 11, Part 3

Slides:

Lecture 11.

Lecture 11, PDF version.

Week 5 (July 20 - July 26)

NOTE: I will not be able to attend my office hours this Thursday.

Lecture 8:

Assigned readings:

Chapter 5, Section 5.4 (pages 242-255), Chapter 6, Sections 6.2.2-6.2.9 (pages 323-347).

Slides:

Lecture 8.

Lecture 8, PDF version.

Lecture 9:

File Systems

Assigned readings:

Chapter 6, section 6.1 (pages 300 - 321), section 6.3.4 (pages 360 - 362)

Slides:

Lecture 9.

Lecture 9, PDF version.

Week 4 (July 13 - July 19)

Lecture 7:

Assigned readings:

Chapter 6, Sections 6.2-6.2.1 (pages 321-323).

Dynamic Storage Allocation: A Survey and Critical Review, by Paul Wilson, Mark Johnstone, Michael Neely, and David Boles. This is a very long paper. You are only required to read the following sections of it: Sections 1.1-1.3 and section 2-21 (pages 6-13) and sections 3.3 and 3.4 (pages 42-45).

Slides:

Lecture 7.

Lecture 7, PDF version.

Only one lecture is assigned this week, since I have effectively fallen a full lecture behind. The midterm exam will cover the material through lecture 7, including slides, material discussed in class sessions, and all readings. The slides and readings that I posted earlier for lecture 8 are NOT covered on the midterm.

The midterm is in the Friday recitation section. Here are some sample questions and answers.

Week 3 (July 6 - July 12)

Lecture 5:

Assigned readings:

Reading assignment: Chapter 5, Section 5.2 (pages 210 - 230), Chapter 4, Section 4.2 (pages 167 - 173) , Chapter 9, Section 9.1 - 9.1.7 (pages 9 - 1 through 9 - 20). Note: Chapter 9 is only available on line. Here is a link to the PDF online version.

Slides:

Lecture 5.

Lecture 5, PDF version.

Lecture 6:

Assigned readings:

Reading assignment: Chapter 5, Section 5.2.5 (pages 221 - 222), Chapter 5, Section 5.6 (pages 273 - 284).

Slides:

Lecture 6.

Lecture 6, PDF version.

Week 2 (June 29 - July 5)

Lecture 3:

Assigned readings:

Chapter 5, Section 5.5 (pages 255 - 272)

Slides:

Lecture 3.

Lecture 3, PDF version.

Lecture 4:

Assigned readings:

Chapter 6, Section 6.3 (pages 347 - 362 )

Slides:

Lecture 4.

Lecture 4, PDF version.

Week 1 (June 22 - June 28)

I have to be out of town on the first day of class, June 23. We will therefore handle this week a bit differently than other weeks. The first session of class on Tuesday June 23 will be taught by Turker Garip, our TA. He will discuss introductory material and start you off on the lab assignments, which are a major component of the class. I will lecture on Thursday, June 25 and during the recitation section on Friday, June 26. In subsequent weeks, we will return to the normal schedule, with my lectures on Tuesdays and Thursdays and a recitation section on Fridays.

Introductory slides on class organization and administration.

Introductory slides on class organization and administration, PDF version.

Lecture 1:

Note: This lecture will be given on Thursday, June 25.

Assigned readings:

Chapter 1 (pages 1-40).

Slides:

Lecture 1.

Lecture 1, PDF version.

Lecture 2:

Note: This lecture will be given on Friday, June 26.

Assigned readings:

Chapter 2, section 2.1 (pages 43-60)

Chapter 4, sections 4.1 - 4.1.2 (pages 147-162)

Chapter 5, section 5.1 (pages 199-210)

Chapter 5, sections 5.3-5.3.4 (pages 230-237)

Slides:

Lecture 2.

Lecture 2, PDF version.