Back to the 2024 paper

Module 2: Processes & Scheduling

20247m

What are the two differences between user-level thread and kernel level thread? Under what circumstance is one type better than the other?

Worked SolutionAI Assisted

User vs Kernel threads

  1. Management: ULT by user library (kernel unaware), KLT by kernel.
  2. Scheduling: ULT many-to-one, KLT one-to-one/many-to-many.
  3. Blocking: one ULT blocks entire process; KLT can schedule another thread of same process.
  4. Overhead: ULT lightweight, fast context switch; KLT heavier but true parallelism.

When better: ULT when threads are cooperative, low concurrency, need fast creation (e.g., user-level task pool). KLT when needing blocking I/O, multicore parallelism, priority scheduling.

Similar questions

AI LearningWeb Platform

Coursify — Personal AI Course Generator

Struggling with a difficult subject or concept? Turn any engineering topic into a structured course with interactive lessons, quizzes, and research-backed explanations.