This is a discussion on Kernel Preemption within the lucky.openbsd.tech forums, part of the OpenBSD category; --> Hi all, I've been doing some reading on the OpenBSD kernel and found out that the kernel is non-premeptible. ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi all, I've been doing some reading on the OpenBSD kernel and found out that the kernel is non-premeptible. So, if a process is running in kernel mode, it can never be pre-empted unless it voluntarily calls tsleep() or it returns to user space. Since, it is the timer interrupt handler that calculates process run times and calls schedule() if some process exceeded its time limit, how does it know not to do a schedule() if the current process is in kernel mode? How can it know if the current process is in user mode or kernel mode? Regards, Bijoy. |
| Thread Tools | |
| Display Modes | |
|
|