UCLA CS111, Section 1, Spring 2016
Lectures, Reading, Quizzes, Exams, and Projects

Last updated: May 26, 2016

Week Day Date Lecture/Lab Topics Assigned Reading Quiz Slides
1 M 03/28 1A Administrative introduction to course
1B Why study Operating Systems
1C What is an Operating System
1D Operating Systems principles
Arpaci ch 2
Saltzer ch 1-1.3(from UCLA only)
Interface stability
none lect 1
W 03/30 2A Operating System services, layers, mechanisms
2B Service interfaces and standards
2C Services and abstract resources
Saltzer ch 1.4-1.5(from UCLA only)
Dynamic Loading
Application Programming Interface
Application Binary Interface
linkage conventions
libraries
Quiz 2 lect 2
Lab04/01 Project 0: Warmup
2 M 04/04 3A What is a process
3B Implementing processes
3C Aynchronous exceptions and events
3D User-mode programs and exceptions
Arpaci ch 3
Arpaci ch 4
Arpaci ch 5
Arpaci ch 6
kill(2)
signal(2)
Quiz 3 lect 3
W 04/06 4A Introduction to scheduling
4B Non-preemptive scheduling
4C Preemptive scheduling
4D Adaptive scheduling
9F Performance under load
Arpaci ch 7
Arpaci ch 8
real time scheduling
Quiz 4 lect 4
Lab04/08 Project 1A: I/O and IPC
3 M 04/11 5A Memory management and address spaces
5B Allocation algorithms
5C Advanced allocation techniques
5D Segment Relocation
5E Garbage Collection
5F Errors and diagnostic free lists
Arpaci ch 12
Arpaci ch 13
Arpaci ch 14
Arpaci ch 15
Arpaci ch 16
Arpaci ch 17
Quiz 5 lect 5
W 04/13 6A Introduction to swapping and paging
6B Paging MMUs and Demand Paging
6C Replacement algorithms
6D Thrashing and Working Sets
6E other optimizations
Arpaci ch 18
Arpaci ch 19
Arpaci ch 21
Arpaci ch 22
working set replacement
Quiz 6 lect 6
Lab04/15 Project 1B: networking & encryption
4 M 04/18 3E Threads
7A Inter-Process Communication
7B Critical Sections
7C Asynchronous Completions
Inter Process Communication
named pipes
send(2)
recv(2)
mmap(2)
Arpaci ch 25
Arpaci ch 26
Arpaci ch 27
user-mode threads
Quiz 7 lect 7
W 04/20 7D Mutual Exclusion operations
7E Implementing mutual exclusion
7F Asynchronous completion operations
7G Implementing asynchronous completion
Arpaci ch 28
Quiz 8 lect 8
F04/22 Project 2A: atomic operations
5 M 04/25 7H Synchronization problems
7I Semaphores
7J Object level locking
7K bottlenecks and contention
Arpaci ch 29
Arpaci ch 30
Arpaci ch 31
flock(2)
lockf(3)
Quiz 9 lect 9
W 04/27 MIDTERM weeks 1-5 solns
Lab04/29 Project 2B: complex critical sections
6 M 05/02 8A introduction to deadlocks
8B Deadlock Avoidance
8C Deadlock Prevention
8D Related Problems
7L Higher Level Synchronization
Arpaci ch 32
Deadlock Avoidance
Health Monitoring/Recovery
Monitors
Java synchronization
Java intrinsic locks
Quiz 10 lect 10
W 05/04 9A Performance and Metrics
9B Load characterization and generation
9C Performance measurement
9D Performance analysis
9E Performance presentation
Metrics and measurement
Load and Stress Testing
Quiz 11 lect 11
Lab05/06 Project 2C: lock granularity and performance
7 M 05/09 10A Disks
10B Low-level I/O techniques
10C Higher-level I/O techniques
10D Plug-in Driver Architectures
Arpaci ch 33-33.6
Arpaci ch 35
Device Drivers Classes and Services
Arpaci ch 36
Arpaci ch 37
Arpaci ch 38
Dynamically Loadable Drivers
Quiz 12 lect 12
W 05/11 11A File semantics
11B Namespace semantics
11C File representation
11D Free-space representation
11E Namespace representation
11F File System integration
Arpaci ch 39
File Formats
Arpaci ch 40
FAT File System
Object Storage(Hist, Arch)
Key-Value Stores(Intro, types)
FUSE(Intro)
Quiz 13 lect 13
Lab05/13 Project 3A: file system dump
8 M 05/16 11G File System performance
11H File System robustness
11I Check-sums
11J Log-Structured File Systems
Arpaci ch 41
Arpaci ch 42
Arpaci ch 43*
Arpaci ch 44
Arpaci appx I.6-10
Arpaci ch 45
Quiz 14 lect 14
W 05/18 12A Operating Systems Security
12B Authenticaiton
12C Authorization
12D Trust
12E At-Rest Encryption
Saltzer 11.1-2
Saltzer 11.6
At Rest Encryption
Quiz 15 lect 15
Lab05/20 Project 3B: file system analysis
9 M 05/23 13A Distributed Systems: Goals & Challenges
13B Distributed Systems: Communication
13C Distributed Systems: Security
13D Distributed Systems: Synchronization
Distributed Systems: Goals & Challenges
Arpaci ch 47
Saltzer 11.3-4
RESTful interfaces
Resource Leases
Distributed Consensus
SSL
Quiz 16 lect 16
W 05/25 14A Remote Data Architectures
14B Remote Data Security
14C Remote Data Robustness
14D Remote Data Performance
14E Remote Data Scalability
Arpaci ch 48
Arpaci ch 49
Kerberos
ACID semantics
Quiz 17 lect 17
Lab05/27 Research Paper
Embedded System Project
10 M 05/30 MEMORIAL DAY
W 06/01 15A Distributed Computing
15B Multi-Processor Systems
15C Tightly Coupled Systems
15D Loosely Coupled Systems
15E Cloud Models
3F Virtual Machines
Arpaci appx B
Multi-Processors
Arpaci ch 10
Clustering Concepts
Horizontally Scaled Systems
Eventual Consistency
Quiz 18 lect 18
Lab06/03
11 M 06/06 11:30-14:30 FINAL EXAM
23:59: Paper/Project 4 due
part 1: weeks 6-10
part 2: ALL
solns 1
solns 2
*Starred reading assignments contain valuable information, but do not warrant deep study.