Question :
(a) Many systems provide support for both user threads and kernel threads, resulting in different multithreading models.
What are the two differences between user-level threads and kernel-level threads?
(b) Under what circumstances is one type better than the other?
(c) Explain the actions taken by a kernel to context switch between kernel-level threads.
(d) Describe the following multithreading model:
I. Many-to-one
II. One-to-one
III. Many-to-Many.