What are the relations between processes, kernel threads, lightweight processes and user threads in Unix?
15
votes
1
answer
9135
views
Unix Internal by Vahalia have figures showing the relations between processes, kernel threads, lightweight processes, and user threads.
This book gives most attention to SVR4.2, and it also explores 4.4BSD, Solaris 2.x, Mach, and Digital UNIX in detail. Note that I am not asking about Linux.
1. For each process, are there always one or more lightweight
processes underlying the process? Figure 3.4 seems to say yes.
Why does Figure 3.5(a) show processes
directly on top of CPUs, without lightweight processes in between?
2. For each lightweight process, is there always exactly one kernel
thread underlying the lightweight process? Figure 3.4 seems to say yes.
Why does Figure 3.5(b) show lightweight processes directly on top of processes, without any kernel thread in between?
3. Are kernel threads the only entities able to be scheduled?
4. Are lightweight processes scheduled only indirectly via scheduling
the underlying kernel threads?
5. Are processes scheduled only indirectly via scheduling the
underlying lightweight processes?
----------
**Update:**
I asked a similar question for Linux https://unix.stackexchange.com/questions/472300/is-a-light-weight-process-attached-to-a-kernel-thread-in-linux
I guessed it might be because the book Operating System Concepts introduces the concepts implicitly using Unix, and Unix and Linux might differ, so I read about Unix kernel.
I appreciate the current reply, but I am hoping to reopen the post so that I can accept other replies.


Asked by Tim
(106430 rep)
Sep 29, 2018, 08:00 PM
Last activity: Oct 1, 2018, 01:37 PM
Last activity: Oct 1, 2018, 01:37 PM