Micro Kernels and User Land Drivers
Posted: Sun Oct 01, 2006 1:35 pm
Ok I'm confused (again)...
Everyone says the Micro/Nano Kernels are safer than Monolithic Kernels as drivers are run in User Land and so can't cause fatal errors to the rest of the Kernel.
However what I don't understand is that if you need a driver to access low level hardware stuff (interrupts etc) then it's going to need access to parts of the Kernel. The fastest way it seems is to use shared memory, but it sounds as though that would require mapping part of the Kernels memory space back into the requesting User Land driver, surely then it's just as crashable as a Kernel based driver?
Also how do you allow User Land drivers to access Kernel functions through shared memory? The compiler will want to know something about these functions at compile time won't it?
Sorry if this sounds as if I gibbering, but I've been reading through multiple topics today after finally getting my HH kernel to compile correctly for the first time and I think my brain has turned to mush...
Everyone says the Micro/Nano Kernels are safer than Monolithic Kernels as drivers are run in User Land and so can't cause fatal errors to the rest of the Kernel.
However what I don't understand is that if you need a driver to access low level hardware stuff (interrupts etc) then it's going to need access to parts of the Kernel. The fastest way it seems is to use shared memory, but it sounds as though that would require mapping part of the Kernels memory space back into the requesting User Land driver, surely then it's just as crashable as a Kernel based driver?
Also how do you allow User Land drivers to access Kernel functions through shared memory? The compiler will want to know something about these functions at compile time won't it?
Sorry if this sounds as if I gibbering, but I've been reading through multiple topics today after finally getting my HH kernel to compile correctly for the first time and I think my brain has turned to mush...