The boot process Before we start writing code, first take a small look at the boot process. From the point of view of the kernel, this section could have the title "what happened so far". In the case of a CPU reset (which occurs, for example, when switching on), the entire processor state is reset. In particular, the processor switches to the real mode and jumps to the linear address 0xffff0 (eg cs: ip = f000: fff0). At this address is the BIOS. The BIOS initializes the hardware, performs a self-test, and when it is finished, it triggers an interrupt 0x19. The handler loads the boot sector from the hard disk or disk to linear 0x7c00 (eg 07c0: 0000) and jumps to this address. The boot loader is then responsible for loading the kernel of the operating system into the memory, setting up a suitable environment and jumping to the entry point of the kernel. To prepare the area include the change in the appropriate processor mode (in our case of ...