One of the disadvantages of user level threads compared to Kernel level…
2017
One of the disadvantages of user level threads compared to Kernel level threads is
- A.
If a user level thread of a process executes a system call, all threads in that process are blocked.
- B.
Scheduling is application dependent.
- C.
Thread switching doesn’t require kernel mode privileges.
- D.
The library procedures invoked for thread management in user level threads are local procedures.
Attempted by 343 students.
Show answer & explanation
Correct answer: A
Answer: If a user level thread of a process executes a system call, all threads in that process are blocked.
Key reason: User-level threads are implemented in a user-space library. The kernel is unaware of these individual threads and views the entire process as a single schedulable entity. When one user-level thread performs a blocking system call, the kernel blocks the whole process, which blocks all user-level threads and eliminates intra-process concurrency.
Blocking system calls cause global blocking: one blocked thread can stall the entire process.
No true parallel execution on multiple CPUs under a many-to-one mapping because the kernel schedules the process as a single entity.
Why the other statements are not disadvantages:
Scheduling is application dependent. Scheduling is handled by the user-level thread library, which allows custom policies and flexibility (usually an advantage rather than a disadvantage).
Thread switching doesn’t require kernel mode privileges. This is a performance advantage because context switches can be done entirely in user space without expensive mode switches.
The library procedures invoked for thread management in user-level threads are local procedures. Managing threads in user space reduces overhead and is generally beneficial.
Mitigations:
Use kernel-level threads or hybrid many-to-many models when you need true parallelism and to avoid global blocking on system calls.
Use non-blocking or asynchronous I/O and careful library design to reduce the impact of blocking system calls.
A video solution is available for this question — log in and enroll to watch it.