Consider the following statements with respect to user-level threads and kernel-supported threads
-
context switch is faster with kernel-supported threads
-
for user-level threads, a system call can block the entire process
-
Kernel supported threads can be scheduled independently
-
User level threads are transparent to the kernel
Which of the above statements are true?
View worked solution
Answer: A
To determine which statements are true, let us analyze each statement individually:
- Statement I: Context switch is faster with kernel-supported threads (False)
Context switching between user-level threads (ULTs) is faster because it is managed entirely in user space by a thread library. It does not require mode switching (from user to kernel mode) or kernel intervention. In contrast, switching between kernel-supported threads (KLTs) requires a full context switch involving the kernel, which is slower. - Statement II: For user-level threads, a system call can block the entire process (True)
Since the operating system kernel is unaware of the individual user-level threads inside a process, any blocking system call made by a single ULT will cause the kernel to block the entire process. - Statement III: Kernel-supported threads can be scheduled independently (True)
The kernel manages and schedules KLTs directly. If one KLT blocks, the kernel can independently schedule another thread of the same process or a different process. - Statement IV: User-level threads are transparent to the kernel (True)
In computer science, "transparent" means "invisible". Since ULTs are managed entirely by a user-space library, the kernel is completely unaware of their existence and only schedules the parent process as a single entity.
Thus, statements (II), (III), and (IV) are true, which corresponds to option A.
Free practice · Your answers on this page are not saved.
