UCLA Computer Science 111: Operating Systems Principles
Winter 2009

Syllabus    Schedule

Instructor: Dr. Ani Nahapetian ani@cs.ucla.edu, office: Boelter 6531C, office hours: M 1:30-3:30 PM or by appointment

Teaching Assistant: Ian Ku ianku@cs.ucla.edu, office: Boelter 4428, office hours: T 2-3 PM, W 3-4 PM
Teaching Assistant: Jong Han (Jonathan) Park, jpark@cs.ucla.edu, office: Boelter 4428, F 12-2 PM.

Lecture: MW 10-11:50 AM, Dodd 146
Discussion: F 10-11:50 AM, Dodd 146

Course website: www.cs.ucla.edu/~ani/classes/cs111.08w

Course Description

CS 111 is a 4-unit course with four hours of lecture and two hours of discussion per week. Topics covered include: Introduction to operating systems design and evaluation. Computer software systems performance, robustness, and functionality. Kernel structure, bootstrapping, input/output (I/O) devices and interrupts. Processes and threads; address spaces, memory management, and virtual memory. Scheduling, synchronization. File systems: layout, performance, robustness. Distributed systems: networking, remote procedure call (RPC), asynchronous RPC, distributed file systems, transactions. Protection and security. Exercises involving applications using, and internals of, real-world operating systems.

Prerequisites: Computer Science 32, 33, 35L.

Text

Jerry Saltzer and Frans Kaashoek, Principles of Computer System Design, MIT 6.033 class notes, draft release 3.1 (August 2006). Copies are available from Course Reader Material at 1081 Westwood Boulevard, telephone (310) 443 3303.

Grading

You can check your point totals online using your Bruin online account at http://www.my.ucla.edu/

For extenuating circumstances, you have three free late days, which allows you to submit labs or mini-labs a total of three days late without penalty. However, all homework must be submitted by the last day of discussion.

Exams

The midterm exam will be in-class. The final exam will be held during the time and date set by the registrar. No makeup exams will be given.

Labs

There will be 4 labs. To complete the labs, you may work alone or with a partner.

Mini-labs

There will be two mini-labs, which must be completed individually.

One-Page Report

In an effort to gain broader exposure to the growing field of operating systems, you shall write a one-page report on a current operating systems topic. A hard-copy of the resources should be turned-in at the start of class on the due date. Select one of the following topics for your one-page report. Each topic is illustrated by a single article or web page, but do not limit your reading to just the web page, as you should preparing a summary of the topic, not the article.

Here is a link to some oral and written presentation resources.

Academic Honesty

Students must follow the UCLA Student Conduct Code, which prohibits cheating, fabrication, multiple submissions, and facilitating academic dishonesty. A summary of the Student Conduct Code can be found in the Student Guide to Academic Integrity, and the Office of the Dean of Students has summarized some of the dos and don'ts in Before You Begin That Paper and How to Get the Better of an Exam. Students are encouraged to study together, and to discuss general problem-solving techniques that are useful on assignments; but when working on the homework assignment students must specify the sources for all parts of their project.

Announcements and More

UCLA Linux Users Group (LUG) offers general assistance