|
|
|
|
|
by oso2k
1113 days ago
|
|
Strictly speaking, a monolithic kernel is one which builds in all the code to operate: talk to hardware, load programs, perform its services or even include the ability to load drivers/code to talk to other hardware. All of the key functionality is loaded into the kernel program space but that is usually separate from user space or process space. Dumb programs; smart kernel. https://en.wikipedia.org/wiki/Monolithic_kernel A microkernel has a much more limited scope, sometimes just the ability to pass messages or data between processes, and may exclude most of the functionality to talk to hardware. The microkernel program space is separated from user space, process space and driver space. Dumb kernel; smart programs. https://en.wikipedia.org/wiki/Microkernel |
|
But there usually is a clear distinction between such 'kernel processes' and user applications, they also tend to be run at a slightly higher priority to ensure that the system keeps moving.