Project Scope
This is a subsection of Project Introduction
The field of Operating Systems has already been widely covered and there are a great amount of really good books on this subject, but anyone willing to start a working kernel from scratch will have a hard time, some books just cover the theory, some other explain how things are implemented on Open Source Kernels, and not many explain how to write your own kernel but they tend not to give enough emphasis on the tools needed and not support all platforms. So in this project I will try to give instructions, as if it were an IKEA guide, on how to build the kernel, but also giving the design point of view.
The scope of the project is to be able to understand from the moment we power up the computer until the kernel has set up a working environment, with some peripherals configured and multitask. By covering step by step all this process the reader will be able to gain knowledge on BIOS functions, processor setup, bootloader design, memory issues and concurrency. To accomplish that, before implementing any part, the theory will be presented, then how to setup all the tools and finally the code.
The objective is to be able to follow the book under any Operating System such as GNU/Linux, MacOsX , and Windows. This is accomplished by using portable tools, all of them open source.