Microkernel kernel is different with the big two operating system design idea, which is similar to the design of the CPU RISC and CISC architecture. Wherein the micro-kernel is thought, to minimize the operating system mechanisms be implemented in the kernel module, and the operating system functions as much as possible so as to achieve a separate process or thread, which facilitates extension of the operating system architecture. For example, a common design idea is, the inter-process (or thread) scheduling, interprocess communication mechanisms (IPC) and synchronization, timing functions, memory management, interrupt scheduling functionality into the kernel to achieve, because the code for these functions need volume is not large, it is possible that the small core size. In addition, the operating system must implement a file system, device drivers, network protocol stack, IO Manager functions as a separate process or task to achieve, user applications when needed these functions, IPC mechanism through the core provided ( such as messaging mechanism) makes a request to the service process, that is a typical client - server mechanism.
But the big kernel, there are some drawbacks, the most obvious is the kernel too large, sometimes it makes its poor scalability (which can be partially solved by a dynamically loadable module). But in the embedded operating system development, the drawbacks of this performance was not very obvious. Figure 1-4 illustrates the development of ideological core.