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 04 - Synchronization, Atomic Operations, Locks |
|
Go to the Course Home or watch other lectures:
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 |