answersLogoWhite
Computer Programming
Operating Systems
The Difference Between

What are user level threads?


Top Answer
User Avatar
Wiki User
2011-09-17 14:16:16
2011-09-17 14:16:16

•No special support needed from the kernel (use any Unix)

•Thread creation and context switch are fast (no syscall)

•Defines its own thread model and scheduling policies

Related Questions

User Avatar

user level theads are not tranparent to kernel level threads.

User Avatar

POSIX threads are user level threads, because had a interface library and the operating systems don't control his ejecution and does not know

User Avatar

There are two distinct models of thread controls, and they are user-level threads and kernel-level threads. The thread function library to implement user-level threads usually runs on top of the system in user mode. Thus, these threads within a process are invisible to the operating system. User-level threads have extremely low overhead, and can achieve high performance in computation. However, using the blocking system calls like read(), the entire process would block. Also, the scheduling control by the thread runtime system may cause some threads to gain exclusive access to the CPU and prevent other threads from obtaining the CPU. Finally, access to multiple processors is not guaranteed since the operating system is not aware of existence of these types of threads. On the other hand, kernel-level threads will guarantee multiple processor access but the computing performance is lower than user-level threads due to load on the system. The synchronization and sharing resources among threads are still less expensive than multiple-process model, but more expensive than user-level threads. Thus, user-level thread is better than kernel level thread.

User Avatar

In both kernel and User level they have one stack per thread

User Avatar

A multithreaded system comprising of multiple user-level threads cannot make use of the different processors in a multiprocessor system simultaneously. The operating system sees only a single process and will not schedule the different threads of the process on separate processors. Consequently, there is no performance benefit associated with executing multiple user-level threads on a multiprocessor system.


Copyright © 2020 Multiply Media, LLC. All Rights Reserved. The material on this site can not be reproduced, distributed, transmitted, cached or otherwise used, except with prior written permission of Multiply.