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 | |
Lab | 04/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 | |
Lab | 04/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 | |
Lab | 04/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 | |
F | 04/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 | ||
Lab | 04/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 | |
Lab | 05/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 | |
Lab | 05/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 | |
Lab | 05/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 | |
Lab | 05/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 | |
Lab | 06/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 |