The image currently being executed (and hence the identity of the current process) is determined by the setting of the seventh kernel segmentation address register. If process #i is the current process, then the register has the value “proc[i].p_addr”.
It is often desirable to distinguish between a process being executed in kernel mode and the same one being executed in user mode. We will use the terms “kernel process #i” and “user process #i” to denote “process #i executing in kernel mode” and “process #i executing in user mode” respectively.
If we chose to associate processes with particular execution stacks rather than with an entry in the “proc” array, then we would consider kernel process #i and user process #i to be separate processes, rather than different aspects of a single process #i.