Kernel initialization

In this phase, the kernel initializes the Mach and BSD data structures and then initializes the I/O Kit. The I/O Kit links the loaded drivers into the kernel, using the device tree to determine which drivers to link. Once the kernel finds the root device, it roots BSD off of it.

Finally, the kernel starts the mach_init process, the first process in user space. The mach_init process is the Mach bootstrap port server, which enables Mach messaging.