CS 162: Operating Systems and Systems Programming
CS 162: Operating Systems and Systems Programming (Spring 2014, UC Berkeley). Instructor: Professor Anthony D. Joseph. 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 06 - Readers/Writers Problem, Working in Teams |
|
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 |
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 |
Lecture 13 - Disks and SSDs, File Systems (Part 1) |
Lecture 14 - File Systems (Part 2) |
Lecture 15 - Key-Value Storage, Network Protocols |
Lecture 16 - Layering |
Lecture 17 - TCP, Flow Control, Reliability |
Lecture 18 - 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 - Remote Procedure Call |
Lecture 24 - Capstone: Cloud Computing |