Microkernel is the central core of an operating system that controls everything in the system including startup, data processing, input/output, configuration, and memory management. It provides the basic mechanisms needed to implement an operating system, such as low-level address space management, thread management, and interprocess communication. Unlike monolithic kernels, drivers, protocols, file systems and other low-level systems are developed in user space. This increases security and stability since less code runs in kernel mode, and new features can be added without recompiling the kernel. Examples of microkernels include Mach and L4.