UCLA CS111
Operating Systems (Spring 2003, Section 1)

Instructor

Andy Wang (awang@cs.ucla.edu)

Teaching Assistants

Petros Efstathopoulos (pefstath@cs.ucla.edu (subject: cs111))
Ashu Razdan (razdan@cs.ucla.edu (subject: cs111))

Textbooks

Gary Nutt, Operating Systems: A Modern Perspective (2nd Edition)
Gary Nutt, Kernel Projects for Linux (ISBN #0201612518 or 0201741962)


Announcements

[Mar 31] Welcome to CS111!

[Mar 31] There will be a Linux installfest on April 12 (Sat), in Boelter Hall 4760

[Apr 2] Please purchase your textbooks online (www.bookfinder.com), since it will take the bookstore 2-3 weeks to get copies.

[Apr 11] Starting April 16 (Wed), the class will meet in A2 Haines Hall.

[May 17] Correction: Exam 2 will cover lectures 8-12 and chapters 8-12 (no device drivers and file systems.

[June 7] The final exam will cover lectures 13-20 in great details (70%). The remaining exam will be two OS design questions (30%).

[June 7] Unfortunately, I will not be able to host a review session.


Handouts

Lecture 1

Quiz 1: Experience Survey (Word 2000)
Course Information (Word 2000)
Introduction and History (Word 2000)
Reading: Chapter 1

Suggested Reading: The Emperor's Old Clothes, by Tony Hoare

Lecture 2

Concurrency: Threads, Address Spaces, and Processes (Word 2000)
Homework 1 (Word 2000 )
Reading: Chapter 2

Lecture 3

Genesis: From Raw Hardware to Processes (Word 2000)
Reading: Chapter 3

Lecture 4

CPU Scheduling (Word 2000)
Homework 2 (Word 2000)
Reading: Chapters 4 and 7

Lecture 5

Cooperating Threads (Word 2000)
Synchronization (Word 2000)
Reading: Chapter 8

Lecture 6

Implementing Mutual Exclusion (Word 2000)
Semaphores (Word 2000)
Homework 3 (Word 2000)
Reading: Chapter 9

Lecture 7

Exam 1 (lectures 1-6, chapters 7-8)
Mean: 86

Lecture 8

More on Semaphores (Word 2000)
Monitors and Condition Variables (Word 2000)
Homework 4 (Word 2000)
Reading: Chapter 10

Lecture 9

Deadlock (Word 2000)
Concurrency Conclusion (Word 2000)
Reading: Chapter 11

Suggested Reading: Why Threads Are A Bad Idea, by John Ousterhout

Lecture 10

Memory Protection (Word 2000)
Address Translation (Word 2000)
Homework 5 (Homework 5)
Reading: Chapter 12

Lecture 11

Caching and TLBs (Word 2000)

Lecture 12

Demand Paged Virtual Memory (Word 2000)
Homework 6 (Word 2000)
Reading: Chapter 5

Lecture 13

Device Management (Word 2000)
Reading: Chapter 13

Lecture 14

File Systems and Disk Management (Word 2000)
Homework 7 (Word 2000)

Lecture 15

Exam 2 (lectures 8-12, chapters 8-12)

Lecture 16

Naming and Directories (Word 2000)
Transactions: Reliability from Unreliable Components (Word 2000)
Homework 8 (Word 2000)
Reading: Chapter 14

Suggested Reading: A Fast File System for UNIX, by Marshall McKusick and William Joy

Lecture 17

Holiday

Lecture 18

Protection and Security (Word 2000)
Homework 9 (Word 2000)
Reading: Chapter 15

Lecture 19

Networks and Distributed Systems (Word 2000)
Network Protocols (Word 2000)
Reading: Chapter 16

Lecture 20

Remote Procedure Call (Word 2000)
Distributed File Systems (Word 2000)
Reading: Chapter 17


Useful Resources

Newsgroups

CS111 Lecture
CS111 Lab

Lab Resources

Lab Web page (Ashu)
Lab Web page (Petros)
UCLA Linux Users Group
Cross-Referecing Linux

Books

Kernighan, Ritchie, The C Programming Language (2nd Edition)
Maxwell, Linux Core Kernel Commentary
Tanenbaum, Modern Operating Systems (2nd Edition)
Silberschatz, Galvin, Gagne, Operating System Concepts (6th Edition)


awang@cs.ucla.edu
Last modified on: March 25, 2003