CS 162: Operating Systems and Systems Programming
CS 162: Operating Systems and Systems Programming (Fall 2012, UC Berkeley). Instructor: Professor Ion Stoica. The purpose of this course is to teach the design of operating systems and other systems. Topics we will cover include concepts of operating systems, networking, database systems and systems programming, including multiple-program systems (processes, interprocess communication, and synchronization), memory allocation (segmentation, paging), resource allocation and scheduling, file systems, basic networking (packet switching, file control, reliability), basic databases (transaction, SQL) security, and privacy.
Lecture 17 - TCP, Flow Control, Reliability |
|
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 - Readers/Writers Problem, Working in Teams |
Lecture 07 - Semaphores, Condition Variables, Deadlocks |
Lecture 08 - Thread Scheduling |
Lecture 09 - Address Translation |
Lecture 10 - Caches and TLBs |
Lecture 11 - Page Allocation and Replacement |
Lecture 12 - Dual Mode Operation: Kernel vs User Mode, I/O Systems, Disk Performance |
Lecture 13 - Disks and SSDs, File Systems |
Lecture 14 |
Lecture 15 - Key-Value Storage, Network Protocols |
Lecture 16 - Layering |
Lecture 17 - TCP, Flow Control, Reliability |
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 - Cloud Computing |
Lecture 24 - P2P Systems and Review |