Our boot-strapping process is a three stage process. An initial program is loaded by the hardware at boot time. This program reads the second and third stages off the disk into memory. The second stage loads the third stage into memory in the correct address range and initializes the machine. The third stage is nachos, which runs at the end of the boot sequence.