Friday, 5 December 2014

What are two differences between user-level threads and kernel-level threads? Under what circumstances is one type better than the other?

(1) User-level threads are unknown by the kernel, whereas the kernel is aware of kernel threads.
(2) On systems using either M:1 or M:N mapping, user threads are scheduled by the thread library and the kernel schedules kernel threads.
(3) Kernel threads need not be associated with a process where as every user thread belongs to a process. Kernel threads are generally more expensive to maintain than user threads as they must be represented with a kernel data structure.

No comments:

Post a Comment