We've looked at the boot process from the time that the system is powered on to the time it's running and ready to launch user processes. Most of the process is fairly routine the creation and initialization of systemwide data structures. Some of the steps are described in more detail in other chapters, particularly the I/O configuration process. We've seen too that there are some unusual things that have to happen during boot, such as handcrafting processes and making the leap into user space to launch user-level processes. There's a lot of work that has to get done to get from power off to running, particularly in a multiprocessor system.