JOS - PC Bootstrap
01 Nov 2020Starting from a high-level overview of JOS lab, we now dig into JOS in this post. We follow Lab 1 of JOS loosely, with our main goal to explore the PC start up process up until the kernel is loaded.
Starting from a high-level overview of JOS lab, we now dig into JOS in this post. We follow Lab 1 of JOS loosely, with our main goal to explore the PC start up process up until the kernel is loaded.
JOS contains two binaries, the bootloader and the kernel. We had a high level overview of JOS’s Makefile and now explore in more details how each binary is compiled, and how they are linked together in an image that can be loaded onto a disk.
A lesser known but nevertheless powerful feature of GDB is its support for macro scripting. This expands on GDB’s capability for customizing the debugger, automating project based setups, setting up advance conditions and routines and more.
Operating System design relies heavily on CPU architecture, so it is important to understand what type of features does a CPU offer. This post discusses different operating modes of Intel x86 CPUs and what a physical address means for a CPU.
GNU Make is a tool to manage build systems. It binds targets to some dependencies and a set of commands.