diff --git a/_posts/2015-07-22-rust-os-boot.md b/_posts/2015-07-22-rust-os-boot.md index bd4e2134..92363576 100644 --- a/_posts/2015-07-22-rust-os-boot.md +++ b/_posts/2015-07-22-rust-os-boot.md @@ -9,7 +9,7 @@ I tried to explain everything in detail and to keep the code as simple as possib [Rust]: http://www.rust-lang.org/ [create an issue]: https://github.com/phil-opp/phil-opp.github.io/issues -[source code]: #TODO +[source code]: https://github.com/phil-opp/blogOS ## Overview When you turn on a computer, it loads the BIOS. It first runs self test and initialization routines of the hardware. Then it looks for bootable devices. If it finds one, the control is transferred to its _bootloader_, which is a small portion of executable code stored at the device's beginning. The bootloader has to determine the location of the kernel image on the device and load it into memory. It also needs to switch the CPU to the so-called [Protected Mode] because x86 CPUs start in the very limited [Real Mode] by default (to be compatible to programs from 1978).