One of the disadvantages of user-level threads compared to kernel-level threads is:
Pick an option to check yourself, or open the answer below.
Show answer & explanation
Correct answer: A. If a user-level thread executes a system call, all threads in that process are blocked.
Explanation
In the pure user-level thread model the kernel is unaware of individual threads and sees only the single underlying process, so when any one of its threads makes a blocking system call, the kernel blocks the entire process, which blocks every other thread in it too, even if they are otherwise ready to run. This is the classic drawback that kernel-level threads avoid, since the kernel can schedule another thread of the same (or a different) process the instant one thread blocks. Options (ii)-(iv) are, in fact, usually cited as advantages of user-level threads (application-controlled scheduling, no kernel-mode switch overhead, and simple local library calls for thread management), not disadvantages. So the correct disadvantage is all threads in that process are blocked, option (i).More System Software and Operating System questions
- Match List I with List II regarding operating system I/O management. List I: (a) Device controller (b) Device driver (c) Interrupt handler…
- Match List I with List II Choose the correct answer from the options given below:
- Match List I with List II Choose the correct answer from the options given below:
- Consider the following table about processes, their burst time and arrival time Now which of the process shall finish second last as per th…
- Which of the following statement is correct for Pthreads?
- Consider the following Graph of disk scheduling and identify the disk scheduling algorithm representing by this graph. Queue 84, 125, 11, 3…