CS110
Calendar
(current)
Piazza
(current)
Labs
Lab Signup
Lab 1 - Filesystems
Solution to Lab 1 - Filesystems
Lab 2 - Multiprocessing and Unix Tools
Solution to Lab 2 - Multiprocessing and Unix Tools
Lab 3 - Parallel Processing
Solution to Lab 3 - Parallel Processing
Lab 4 - Assign 3 Redux
Solution to Lab 4 - Assign 3 Redux
Lab 5 - RW Locks, Event Barriers, Hello Servers
Solution to Lab 5 - RW Locks, Event Barriers, Hello Servers
Lab 6 -
ThreadPool
and Networking
Solution to Lab 6
Lab 7 - Proxy Redux
Solution to Lab 7
Office Hours
(current)
Lectures
Week 1
Lecture 1 - Introduction
- Screencast
Lecture 2 - File Systems
Lecture 3 - Lecture 03 - Layering, Naming, and Filesystem Design
- Screencast
Week 2
Lecture 4 - Filesystem Data Structures and System Calls
Lecture 5 - Understanding
execvp
- Screencast
Week 3
Lecture 6 -
execvp
, Pipes, and Interprocess Communication
Lecture 7 - Signals
- Screencast
Week 4
Lecture 8 - Race Conditions, Deadlock, and Data Integrity
Lecture 9 - Introduction to Threads
- Screencast
Week 5
Lecture 10 - From C threads to C++ threads
Lecture 11 - Multithreading, Condition Variables, and Semaphores
Week 6
Lecture 12 - Multithreading Design Patterns and Thread-Safe Data Structures
Week 7
Lecture 14 - Virtualization and Caching
Lecture 15 - Networking, Clients
- Screencast
Week 8
Lecture 15b - API Servers
- Screencast
Lecture 16 - Networks, HTTP, Proxies, and MapReduce
Week 9
Lecture 17 - MapReduce
Lecture 18 - Principles of System Design
- Screencast
Week 10
Lecture 19 - Events, Threads, and Asynchronous I/O
Lecture 20 - Systems Today
- Screencast
Handouts
Course Information
Course Outline
Assignments
Assignment 1 - Six Degrees of Kevin Bacon
Assignment 2 - Unix v6 File Systems
Assignment 3 - All Things Multiprocessing
Assignment 4 - Stanford Shell
Assignment 5 - RSS News Feed Aggregator
Assignment 6 - ThreadPool
Assignment 7 - Web Proxy and Cache
Assignment 8 - MapReduce
Gradebook
(current)
Search