• CS110 Case Study: MapReduce (w21)

  • Lecture 12: An Ice Cream Store (w21)

  • CS110 Lecture 11: Semaphores and Multithreading Patterns (w21)

    Winter 2021

  • CS110 Lecture 06: Pipes, Signals and Concurrency (w21)

  • CS110 Assignment 2 Information (w21)

  • CS110 Lecture 05: fork and execvp (w21)

  • Copy of Lecture 17: HTTP Web Proxy and MapReduce

  • Copy of Lecture 14: Introduction to Networking (w20)

  • Copy of Lecture 15: Networking, Clients (w20)

  • Lecture 16: Network System Calls (w20)

    Winter 2020

  • Lecture 12: Semaphores and Multithreading Patterns (w20)

    Winter 2020

  • Copy of Lecture 12: More on Multithreading, Condition Variables, and Semaphores

  • CS110 Lecture 11: Condition Variables and Semaphores (w20)

    Winter 2020

  • CS110 Lecture 10: Threads, Mutexes and Condition Variables (w20)

    Winter 2020

  • CS110 Lecture 09: Threads (w20)

    Winter 2020

  • Copy of Lecture 11: Multithreading, Condition Variables, and Semaphores v2

  • Copy of CS110 Lecture 10 -- Threads and Mutexes

    Comparison of C pthreads and C++ threads, examining why threads benefit from language support. Mutexes and critical sections with threads. Performance impacts of critical sections.

  • Copy of Lecture 09: Introduction to Threading

  • CS110 Lecture 08: Concurrency (w20)

    Winter 2020

  • Copy of CS110 Lecture 08: Race Conditions, Deadlock, and Data Integrity

    Race conditions caused by signal handlers, and how race conditions can corrupt data or lead to deadlock. Critical sections and masking signals to have critical sections with signals. Necessity of atomic operations, and sigsuspend.

  • CS110 Lecture 07: Signals (w20)

    Winter 2020

  • CS110 Lecture 06: Pipes, Signals and Concurrency (w20)

  • CS110 Lecture 05: fork and execvp (w20)