The kernel is the core of the operating system(s) running on the ARM9 and ARM11 CPUs. Among other things, it is responsible for memory management, access control, and process scheduling. It furthermore provides userland applications with fundamental functionality like memory allocation, multithreading, and interprocess communication.
The kernel is part of the system firmware and as such is initialized during the boot procedure.
The functionality provided by the kernel to userland applications is exposed via supervisor calls. Internally, the implementation of this ABI uses an object-oriented hierarchy of objects.
Low-level system information is exposed by the kernel via mapping the Configuration Memory page in all processes.