Information for UCLA CS111, Summer 2014 --- 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 are having trouble with the Powerpoint versions of the slides, I am also posting PDF versions. The PDF versions do not support the animations, however.

TA and Labs

The TA for the course is Emanuel Lin (emanuel@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 Courseweb site.

As announced in class, labs 2, 3, and 4 are going to be handled differently than originally planned. If you'd prefer, you can do them in the manner originally announced, but you also have the option of attending Friday recitation sections at which groups of students will be able to work freely together on these labs, without the restrictions on cooperation and assistance that had been enforced for lab 1.

Minilab 2

Minilab 2 description. You can get the minilab 2 skeleton code here.

Lab 4

Lab 4 description. You can get the lab 4 skeleton code here.

The web page for lab 4 contains information on lab 4 design problems, as well.

Lab 3

Lab 3 description. You can get the lab 3 skeleton code here.

The web page for lab 3 contains information on lab 3 design problems, as well.

Lab 2

Lab 2 description. The link on this page to the lab 2 skeleton code will not work. You can get the lab 2 skeleton code here.

The web page for lab 2 contains information on lab 2 design problems, as well.

Lab 1

Lab 1 description. The link on this page to the lab 1 skeleton code probably won't work for you. You can get the lab 1 skeleton code here.

Minilab 1

Minilab 1 description. The link on this page to the minilab skeleton code may not work for you. You can get the minilab 1 skeleton code here.

Design Project

As mentioned in class, we have canceled the design project as a required assigment, due to the various difficulties we have had with this class. The design project is now only an optional extra credit assignment. If you want to perform this extra credit assignment, you can choose any of the design projects you prefer. It must be turned in by Monday, August 11. Here are details of the design project.

Week 8 (August 11 - August 17)

Lecture 12:

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 12.

Lecture 12, PDF version.

Week 7 (August 4 - August 10)

I have fallen two full lectures behind, having not talked about a single slide from either of the two lectures planned for last week. Therefore, I am not assigning any new readings for this week. Instead, I will try to catch up with the two lectures assigned for last week.

Week 6 (July 28 - August 3)

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.

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.

Slides:

Lecture 11.

Lecture 11, PDF version.

Week 5 (July 21 - July 27)

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.

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.

Week 4 (July 14 - July 20)

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.

We will not schedule a second lecture or set of readings for the Thursday class, since I am already a full lecture behind. I will use the time to catch up. Thus, you should expect the midterm on Friday to cover all the slides and readings through lecture 7.

Week 3 (July 7 - July 13)

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: This is one of the chapters that 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 30 - July 6)

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 23 - June 29)

Lecture 1:

Assigned readings:

Chapter 1 (pages 1-40).

Slides:

Lecture 1.

Lecture 1, PDF version.

Lecture 2:

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.