Open In App
Related Articles

GATE | GATE-CS-2007 | Question 17

Improve Article
Improve
Save Article
Save
Like Article
Like

Consider the following statements about user level threads and kernel level threads. Which one of the following statement is FALSE?
(A) Context switch time is longer for kernel level threads than for user level threads.
(B) User level threads do not need any hardware support.
(C) Related kernel level threads can be scheduled on different processors in a multi-processor system.
(D) Blocking one kernel level thread blocks all related threads.


Answer: (D)

Explanation:
Kernel level threads are managed by the OS, therefore, thread operations are implemented in the kernel code. Kernel level threads can also utilize multiprocessor systems by splitting threads on different processors. If one thread blocks it does not cause the entire process to block. Kernel level threads have disadvantages as well. They are slower than user level threads due to the management overhead. Kernel level context switch involves more steps than just saving some registers. Finally, they are not portable because the implementation is operating system dependent.

option (A): Context switch time is longer for kernel level threads than for user level threads. True, As User level threads are managed by user and Kernel level threads are managed by OS. There are many overheads involved in Kernel level thread management, which are not present in User level thread management. So context switch time is longer for kernel level threads than for user level threads.

Option (B): User level threads do not need any hardware support True, as User level threads are managed by user and implemented by Libraries, User level threads do not need any hardware support.

Option (C): Related kernel level threads can be scheduled on different processors in a multi- processor system. This is true.

Option (D): Blocking one kernel level thread blocks all related threads. false, since kernel level threads are managed by operating system, if one thread blocks, it does not cause all threads or entire process to block.

See Question 4 of https://www.geeksforgeeks.org/operating-systems-set-13/

Reference:
http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/threads.htm
https://www.geeksforgeeks.org/difference-between-user-level-thread-and-kernel-level-thread/

This solution is contributed by Nitika Bansal

Quiz of this Question

Last Updated : 28 Jun, 2021
Like Article
Save Article
Similar Reads