Differences among user-level threads and kernel-level thread, Operating System

Q. What are two differences among user-level threads and kernel-level threads? Under what situations is one type better than the other?

Answer:

(1) User-level threads are unidentified by the kernel whereas the kernel is aware of kernel threads.

(2) On systems utilizing either M:1 or M:N mapping user threads are scheduled by the thread library and the kernel schedules kernel threads.

(3) Kernel threads require not be associated with a process where as each user thread belongs to a process. Kernel threads are usually more expensive to maintain than user threads as they must be represented with a kernel data structure.