Originally posted by drag
View Post
Microkernels aren't more complex , in fact the whole point behind microkernels is for a more reliable and simpler design overall by separating things into lots of simpler services.
Micro-kernels aren't slower , yes some were slower but that was due to poor design decisions to do with process handling and inter-process communication. There are simple solutions to handling that. If one adopts the simple solution of switching to the IPC destination instead of letting the scheduler treat it like a normal scheduling event , we avoid the slowdown because we avoid the latency of having to wait for two additional scheduler rounds.
When it comes to size, there isn't any significant penalty in either memory usage or lines of code , and memory usage can be smaller due to only having the necessary services and drivers loaded, and loading them on demand.
Micro-kernels require paying attention to process handling , inter-process communication and memory management but you need to pay attention to them anyway since they are exactly the same things you need to pay attention to when it comes to multi-{threaded/process} programs.
Comment