Application Loading

the second part of the third chapter in our series on How to Write an Operating System


Reason for Being

Up until this point, we have just been working with the operating system kernel. However, an operating system is only useful in that it will support a variety of different application programs (often at the same time).

To that end, the kernel needs to be separated from the application programs it's running, for both generality and protection.

Application Loading

The operating system kernel needs some way of loading processes into memory. Usually this requires knowledge of a filesystem and hardware driver, which is a big hurdle, but luckily, the boot loader for this project can load additional files. Your kernel merely needs to interpret the binary format and start executing the code.

ELF Specification

ELF is much more complex than just a header that confirms the format and tells you where to jump. For more information, get this technical specification.

Application Execution

Still under construction.