Consider the following statements about user level threads and kernel level threads. Which one of the following statements is FALSE?
View worked solution
Answer: D
To determine which statement is FALSE, let us analyze each option based on the characteristics of User-Level Threads (ULTs) and Kernel-Level Threads (KLTs):
- Statement A (True): Context switching between ULTs is done entirely in user space by a thread library (without invoking the OS kernel), which is extremely fast. In contrast, context switching between KLTs requires a transition to kernel mode (mode switch), making it slower.
- Statement B (True): ULTs are managed entirely by user-level libraries and do not require any specific hardware or operating system support for multithreading.
- Statement C (True): Since the kernel is aware of each individual KLT, the kernel scheduler can schedule different KLTs of the same process on different processors in a multiprocessor system to achieve true parallelism.
- Statement D (False): Because the kernel manages KLTs individually, if one KLT blocks (e.g., waiting for an I/O operation), the kernel can schedule another runnable KLT from the same process. It does not block all related threads. (Note: It is in ULTs where blocking one thread blocks the entire process, because the kernel only sees a single process/thread of execution).
Since Statement D is false, it is the correct answer.
Free practice · Your answers on this page are not saved.
