Operating System | User Level thread Vs Kernel Level thread
User level thread | Kernel level thread |
---|---|
User thread are implemented by users. | kernel threads are implemented by OS. |
OS doesn’t recognized user level threads. | Kernel threads are recognized by OS. |
Implementation of User threads is easy. | Implementation of Kernel thread is complicated. |
Context switch time is less. | Context switch time is more. |
Context switch requires no hardware support. | Hardware support is needed. |
If one user level thread perform blocking operation then entire process will be blocked. | If one kernel thread perform blocking operation then another thread can continue execution. | Example : Java thread, POSIX threads. | Example : Window Solaris. |
Below is the Previous Year Gate Question
http://quiz.geeksforgeeks.org/gate-gate-cs-2007-question-17/
References:
http://www.cs.iit.edu/~cs561/cs450/ChilkuriDineshThreads/dinesh%27s%20files/User%20and%20Kernel%20Level%20Threads.html
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
Recommended Posts:
- Operating System | Thread
- Operating System | Process-based and Thread-based Multitasking
- Operating System | Kernel I/O Subsystem (I/O System)
- Operating System | Monolithic Kernel and key differences from Microkernel
- Allocating kernel memory (buddy system and slab system)
- Thread get_id() function in C++
- Mutex lock for Linux Thread Synchronization
- Print numbers in sequence using thread synchronization
- Operating System | Buddy System - Memory allocation technique
- Operating System | Starvation and Aging in Operating Systems
- Operating System | Semaphores in operating system
- Operating System | Introduction of Operating System - Set 1
- Operating System | Requirements of memory management system
- Operating System | Types of Operating Systems
- Operating System | Unix File System