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 24 - Client-Server |
|
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 |