Which one of the following is FALSE?
2014
Which one of the following is FALSE?
- A.
User level threads are not scheduled by the kernel.
- B.
When a user level thread is blocked, all other threads of its process are blocked.
- C.
Context switching between user level threads is faster than context switching between kernel level threads.
- D.
Kernel level threads cannot share the code segment
Attempted by 318 students.
Show answer & explanation
Correct answer: D
Answer: The statement "Kernel level threads cannot share the code segment" is false.
Explanation:
"Kernel level threads cannot share the code segment" is false because kernel-level threads of the same process share the process address space, including code and data segments; they have separate registers and stacks but can execute shared code.
"User level threads are not scheduled by the kernel" is true: a user-level thread library schedules them in user space, while the kernel schedules the process or its kernel thread.
"When a user level thread is blocked, all other threads of its process are blocked" is generally true for pure user-level threading because the kernel treats the process as a single schedulable entity and blocks it on blocking system calls.
"Context switching between user level threads is faster than context switching between kernel level threads" is true because user-level switches avoid kernel-mode transitions and associated overhead.
A video solution is available for this question — log in and enroll to watch it.