Nucleus Micro-Kernel
The Micro-Kernel underpins the entire Nucleus kernel.
It fulfils many of the duties of a traditional micro-kernel, but allows for the other components of the operating system to run on top of it in kernel-mode.
It mostly deals with abstracting the specifics of the architecture, to allow the other sub-systems to perform their jobs in a platform-independent way.
Every architecture has its own version of this module, called kernel.arch, where arch is the name of the architecture (e.g. x86_64).
All source code can be found in the architecture specific (e.g.) kernel.x86_64/ directory.
The kernel exports a primary public header file called include/nucleus/kernel.h, which contains structures, macros and functions for dealing with interrupts, the Global Descriptor Table, and some common kernel utilities. Also included in the kernel's duties are low-level paging and frame allocation, as well as context switching. The Memory Manager will call down into the kernel when it wants to perform a low-level operation concerning one of the two.