Save this video — free

ECE344 Fall 2026 (Sec 1) Lec 14 - Threading Models

Jon Eyolfson · 47:13 · Watch on YouTube

ECE344 Fall 2026 (Sec 1) Lec 14 - Threading Models Watch on YouTube →

Overview

Jon Eyolfson explains how user-level and kernel-level threads differ in scheduling, blocking behavior, creation cost, and parallelism, then compares many-to-one, one-to-one, and many-to-many mappings. He demonstrates user-thread context switching with `ucontext`—including 64 KiB stacks, `getcontext`, `makecontext`, `setcontext`, and `swapcontext`—and traces how saved registers and stack values behave in Lab 4-style code.

Key takeaways

Chapters

0:00 Thread State and Who Manages the Thread Table
4:00 User Threads Versus Kernel Threads: Blocking and Parallelism
9:00 Many-to-One, One-to-One, and Many-to-Many Thread Mappings
13:00 Building User Threads with Stacks and the ucontext API
16:00 getcontext and setcontext: Restoring Execution Creates Repeated Returns
22:30 makecontext: Starting a User Thread on Its Own Stack
29:30 Switching Between Main, T1, and T2 with swapcontext
36:00 Tracing Two ucontext Threads and Shared Global State
45:00 Core ucontext Takeaways and Lab 4 Connection

Keep these chapters and the full searchable transcript in your own library.

Summary, takeaways, and chapters were generated by AI from the video's transcript and may contain errors. The video belongs to its creator, Jon Eyolfson.

Want the full transcript?

Save this video in YouTube Collector to get its complete searchable transcript, your own AI summaries, and a library that keeps every video you collect in one place.