Starting with Windows Vista, Microsoft began unifying the kernel images as multi-core CPUs took to the market and PAE became mandatory.
Functions and global variables use the, so called Pascal Case formatting with special (additional) prefixes in their names to differentiate parts of the kernel.
The pointer's destination contains information about the hardware, the path to the Windows Registry file, kernel parameters containing boot preferences or options that change the behavior of the kernel, path of the files loaded by the bootloader (SYSTEM Registry hive, nls for character encoding conversion, and vga font).
[9][page needed] In the x86 architecture, the kernel receives the system already in protected mode, with the GDT, IDT and TSS ready.
Interrupt handlers usually save some subset of the state of registers before handling it and restore them back to their original values when done.
For some IA-32 versions of the kernel, one example of such a software interrupt handler (of which there are many) is in its IDT table entry 2E16 (hexadecimal; 46 in decimal), used in assembly language as INT 2EH for system calls.
In the real implementation the entry points to an internal subroutine named (as per symbol information published by Microsoft) KiSystemService.
A few of the properties of each block are stored in structures called page table entries, which are managed by the OS and accessed by the processor's hardware.
Additional registry hives, providing software-specific and user-specific data, are loaded during later phases of system initialization and during user login, respectively.
As mentioned in Windows Internals Book 7th edition, the boot-time option increaseuserva and corresponding header in executable image is required for this feature.