CS 162: Operating Systems and System Programming

CS 162: Operating Systems and System Programming (Spring 2012, UC Berkeley). Instructors: Prof. Anthony D. Joseph and Prof. Ion Stoica. This course provides basic concepts of operating systems and system programming. Utility programs, subsystems, multiple-program systems. Processes, interprocess communication, and synchronization. Memory allocation, segmentation, paging. Loading and linking, libraries. Resource allocation, scheduling, performance evaluation. File systems, storage devices, I/O systems. Protection, security, and privacy.


Lecture 01 - Overview
Lecture 02 - Concurrency: Processes, Threads, and Address Spaces
Lecture 03 - Concurrency and Thread Dispatching
Lecture 04 - Synchronization, Atomic Operations, Locks
Lecture 05 - Semaphores, Condition Variables
Lecture 06 - Programming Techniques and Teams
Lecture 07 - Semaphores, Condition Variables, Deadlocks
Lecture 08 - Deadlocks, Thread Scheduling
Lecture 09 - Thread Scheduling, Address Translation
Lecture 10 - Caches and TLBs
Lecture 11 - Page Allocation and Replacement
Lecture 12 - Kernel/User, I/O, Disks
Lecture 13 - Filesystems, Naming, Directories, and Caching
Lecture 14 - Key-Value Storage Systems
Lecture 15 - Chord, Network Protocols
Lecture 16 - Layering and e2e Argument
Lecture 17 - Reliability, TCP, Flow Control
Lecture 18 - TCP's Flow Control, Transactions
Lecture 19 - Transactions, Two Phase Locking (2PL), Two Phase Commit (2PC)
Lecture 20 - Why Systems Fail and What We Can Do About It
Lecture 21 - Security (I)
Lecture 22 - Security (II)
Lecture 23 - Peer to Peer Systems
Lecture 24 - Client-Server

CS162: Operating Systems and Systems Programming, Spring 2012
Instructors: Prof. Anthony D. Joseph and Prof. Ion Stoica. Overview. Information. Lecture Notes. Handouts. Sections and Old Exams.