1 The primary advantage of a microkernel architecture is it size, with most microkernels capable of fitting in a given sys-tem’s L1 cache. This is accomplished by limiting the kernel to only the most important components, such as inter-processcommunication, basic scheduling, and basic memory management. To support these bare-bones basics, OS capabilitiesrequire communication via message passing to other OS capabilities running in user space. This communication fromkernel to user space involves an overhead, resulting in slower processing.WHY A MONOLITHIC KERNEL?There are numerous reasons to use a monolithic kernel:WHY SHOULD I CARE?In most scenarios, the design and architecture of an OS used by a software development team is far less importantthan whether the OS does the job required. If the OS offers the features needed and is reliable, proven, and provides theperformance, determinism, and other characteristics needed to fulfill the requirements of the end product, then the wayit works under the hood is not a factor likely to impact the project outcome.For development teams with existing IP developed for an OS with either kernel type, the architectural considerations andtrade-offs of monolithic vs. microkernel are secondary to the effort required to migrate between those OSes. Rewritingcode to map to a different set of APIs is nontrivial, and managing those changes through an abstraction layer wouldintroduce overhead.Teams wishing to shift to Wind River while preserving their investment in IP based on an OS with a microkernelarchitecture should consider Wind River Helix™ Virtualization Platform. Helix Platform can host such an OS.Also for development teams that prefer a microkernel architecture, the Wind River hypervisor is a Type 1 hypervisor witha messaging microkernel that uses either synchronous or asynchronous communications between systems, events,and beyond to provide deterministic application performance.Wind River is a global leader of software for mission-critical intelligent systems. For 40 years, the company has been an innovator and pioneer, powering billions of devices and systems that requirethe highest levels of security, safety, and reliability. Wind River offers a comprehensive portfolio of software and expertise that are accelerating digital transformation across industries.© 2023 Wind River Systems, Inc. The Wind River logo is a trademark of Wind River Systems, Inc., and Wind River and VxWorks are registered trademarks of Wind River Systems, Inc. Rev. 03/20231.Monolithic kernels offer higher performance byreducing layers of abstraction. Communicationbetween kernel components is therefore more efficient,because they are all executed in a single address space.2.In a monolithic kernel, a service can be obtainedthrough a single system call rather than needing toexchange IPC messages between processes to obtainthe service.3.The design of a monolithic kernel in simpler becausethe kernel components are all totally integrated. Thekernel doesn’t have to account for an infinite number ofconfigurations or dependencies that may or may not bepresent in a microkernel.4.There is less overhead for context switches because thesystem calls in a monolithic kernel are all made in thesame address space.5.Device drivers are more responsive and easier tomanage because they are integrated into the kernel andoperate in the same address space.6.It is easier to implement, maintain, and upgrade thekernel because all the components are compiled in asingle executable.7.For the same functionality, a monolithic kernel requiresless code to implement and is less expensive to certify.