Information for UCLA MS On-Line CS111, Winter 2016 --- Operating System Principles

This page is organized by the weeks of the quarter in which lectures were give . 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.

The TA for the class will be Theano Stavrinos (theanosaurus@gmail.com). Her primary responsibilities will be handling the class projects. She will be in touch with you about these projects early in the quarter.

Week 10 (March 7 - March 13)

Assigned readings:

Chapter 11, Overview and section 11.1, pages 11-4 to 11-28.

These readings are part of the online textbook and can be found here.

Slides:

Lecture 18, Part 1.

Lecture 18, Part 2.

Lecture 18, Part 3.

Lecture 18, Part 4.

Lecture 19:

Assigned readings:

Chapter 11, section 11.2, pages 11-28 to 11-34.

Chapter 11, section 11.4, pages 11-49 to 11-53.

Chapter 11, section 11.6.3, pages 11-76 to 11-80.

These readings are part of the online textbook and can be found here.

Trusted Platform Module (TPM) Summary.

The current case of the FBI seeking to compel Apple's assistance in accessing data stored on an iPhone actually relates to issues of trusted boot, operating system security, and the use of hardware to provide privacy. Here is a brief article describing some of the technical issues related to this controversy. An important point to be aware of in this case is that the detailed particulars of a security solution make a big difference in what is and is not possible, and what can and cannot be done. The details outlined in this article are not the same for all models of iPhone, past and future. Generally, when talking about security, details matter a lot.

Slides:

Lecture 19, Part 1.

Lecture 19, Part 2.

Lecture 19, Part 3.

Lecture 19, Part 4.

Week 9 (February 29 - March 6)

Lecture 16:

Assigned readings:

Chapter 3, section 3.2, pages 132-138.

Chapter 4, section 4.5, pages 184-195.

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 16, Part 1.

Lecture 16, Part 2.

Lecture 16, Part 3.

Lecture 17:

Assigned readings:

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

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

Notes on distributed operating systems, Peter Reiher.

Slides:

Lecture 17, Part 1.

Lecture 17, Part 2.

Lecture 17, Part 3.

Week 8 (February 22 - February 28)

Homework Assignment

Lecture 14:

Assigned readings:

Chapter 2, section 2.5.

Chapter 8, Sections 8.1.1, 8.2.1, and 8.5.4. Here is a link to the PDF online version of Chapter 8.

Slides:

Lecture 14, Part 1.

Lecture 14, Part 2.

Lecture 14, Part 3.

Lecture 15:

Assigned readings:

Chapter 7, section 7.1. Here is a link to the PDF online version of Chapter 7.

Slides:

Lecture 15, Part 1.

Lecture 15, Part 2.

Lecture 15, Part 3.

Week 7 (February 15 - February 21)

Lecture 12:

Assigned readings:

An Introduction to Device Drivers,", Chapter 1 of "Linux Device Drivers," by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman, published by O'Reilly, 2005..

Understanding Modern Device Drivers, Asim Kadaf and Michael M. Swift, Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems. 2012.

Slides:

Lecture 12, Part 1.

Lecture 12, Part 2.

Lecture 12, Part 3.

Lecture 12, Part 4.

Lecture 13:

Assigned readings:

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

Slides:

Lecture 13, Part 1.

Lecture 13, Part 2.

Lecture 13, Part 3.

Lecture 13, Part 4.

Week 6 (February 8 - February 14)

Lecture 10:

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 10, Part 1.

Lecture 10, Part 2.

Lecture 10, Part 3.

Lecture 11:

Assigned readings:

Chapter 5, Section 5.4 (pages 242-255).

Chapter 6, section 6.2.2-6.2.9 (pages 323-347).

Slides:

Lecture 11, Part 1.

Lecture 11, Part 2.

Lecture 11, Part 3.

Lecture 11, Part 4.

Week 5 (February 1 - February 7)

Since we will be having the miderm exam this week, only one lecture is assigned for the week.

The midterm exam will be on Saturday, February 6, from 1-3 PM in 4413 Boelter Hall, unless you have made prior arrangements to have it proctored at another time and place. The test will cover all material presented in lectures or in assigned readings. It will not include materials only covered in the projects. The test will consist of several (~10) short answer questions. These questions will be intended to test your ability to apply concepts and ideas from the class to problems in operating systems. It is a closed book, closed notes test. You may not use electronic devices for the test.

Here are some example midterm questions similar in style to those that will appear on the test. Answers are given on the second page.

Lecture 9:

Assigned readings:

Chapter 5, Section 5.2.5 (pages 221-222), Chapter 5, Section 5.6 (pages 273-284)

Slides:

Lecture 9, Part 1.

Lecture 9, Part 2.

Lecture 9, Part 3.

Lecture 9, Part 4.

Week 4 (January 25 - January 31)

Lecture 7:

Assigned readings:

Chapter 5, Section 5.2 (pages 210-230), Chapter 4, Section 4.2 (pages 167-173)

Slides:

Lecture 7, Part 1.

Lecture 7, Part 2.

Lecture 7, Part 3.

Lecture 8:

Assigned readings:

Chapter 9, Section 9.1-9.1.7 (pages 9-1 through 9-20). Note: This is one of the chapters that is not included in the print version of the book, but is only available on line. Here is a link to the PDF online version.

Slides:

Lecture 8, Part 1.

Lecture 8, Part 2.

Lecture 8, Part 3.

Week 3 (January 18 - January 24)

Lecture 5: Processes

Assigned readings:

Chapter 5, Section 5.5 (pages 255-272).

Slides:

Lecture 5, Part 1.

Lecture 5, Part 2.

Lecture 5, Part 3.

Lecture 6: Scheduling

Assigned readings:

Chapter 6, Section 6.3 (pages 347-362).

Slides:

Lecture 6, Part 1.

Lecture 6, Part 2.

Lecture 6, Part 3.

Week 2 (January 11 - January 17)

Lecture 3: Hardware Issues for Operating Systems

Assigned readings:

Chapter 2, Section 2.1 (pages 43-60)

Slides:

Lecture 3, Part 1.

Lecture 3, Part 2.

Lecture 3, Part 3.

Lecture 4: Modularity and Virtualization

Assigned readings:

Chapter 4, Section 4.1-4.1.2 (pages 147-162), Chapter 5, Section 5.1 (pages 199-210), Section 5.3-5.3.4 (pages 230-237)

Slides:

Lecture 4, Part 1.

Lecture 4, Part 2.

Lecture 4, Part 3.

Week 1 (January 4 - January 10)

Lecture 1: Introduction

Assigned readings:

No reading assigned for lecture 1.

Slides:

Lecture 1, Part 1.

Lecture 1, Part 2.

Lecture 1, Part 3.

Lecture 2: Operating System Basics

Assigned readings:

Chapter 1 (pages 1-40).

Slides:

Lecture 2, Part 1.

Lecture 2, Part 2.

Lecture 2, Part 3.