After the kernel has completed initializing the CPU and memory, and initialized or relocated the kernel data, the following steps are performed to complete the kernel initialization process:
The kernel initializes the debug subsystem.
The kernel initializes the following OAL time functions:
The kernel creates an idle thread to zero the remaining memory. This thread is an idle thread that will run after the system fully boots and comes to a steady state.
The kernel creates the alarm thread that is used by the notification system to trigger time-based events.
During execution of the alarm thread the kernel will call the following functions:
The alarm thread relies on dwNKAlarmResolutionMSec to set the resolution of the real-time clock alarm. By default, this is set to 10 seconds but can be overridden by the OAL in OEMInit.
The kernel calls the OEMIoControl function with IOCTL_HAL_POSTINIT.
This is the last chance for an OEM to perform work before the rest of the OS is started.
See Also
Other Kernel Tasks | Kernel Initialization
Send Feedback on this topic to the authors