According to the book " Operating Systems Concepts " , 9th edition, page 207, we have the following statement :
Obviously, a nonpreemptive kernel is essentially free from race conditions on kernel data structures, as only one process is active in the kernel at a time.
My question is, According to the statement, If we have a non-preemptive kernel this means that we will always have one process active in the kernel, this is because the kernel is nonpreemptive ,and hence, the currently running kernel process will leave the CPU by its decision ( like for example after being blocked or terminated), but what if we have multiprocessor system, say with 2 processors, this means that we could have 2 kernel processors accessing the kernel although the kernel is a nonpreemptive one?