In the course of putting together an Operating System, there are many sources of information that are found, read, discarded, and absorbed. No one particular piece of information – be it book or YouTube video – can hope to provide all the answers on a topic so large.
In the course of putting together IMP OS, the following were found to be of particular use and so are offered here in the hope that they might also be of use to others either directly, or as a starting point.
 | This is widely regarded as the definitive book on learning the programming language "C". |
 | Although this is very hefty, it has a lot of good information in it. |
 | This is fairly heavy going as it leans toward the physical architecture of ARM processors. So it's fairly challenging but might be useful. |
 | Despite being non-technical in terms of code, when it comes to the history of a major Operating System such as Windows, this book really does give you a clearer understanding of what goes on behind the scenes. |
Raspberry Pi | The Raspberry Pi Foundation are responsible for the Raspberry Pi range of devices. |
RISC OS Open | RISC OS is an Operating System that was originally built for early ARM computers. |
OS Dev | This web site was not found until IMP OS was well and truly underway. It appears useful although does seem to be extremely focussed on Intel ("x86") systems. It is certainly full of useful information. |
FAT Filesystems | When it comes to understanding the FAT filesystem that Microsoft introduced, this web site contains enough useful information to get started on code that is capable of reading a FAT32 formatted device. Worth a read. |
Linux Inside | A substantial amount of work has gone into this online reference material that focusses on how Linux works at the code level. Slightly more advanced so one to read later down the line for most, and focusses explicitly on the Intel hardware. |
Minix 3 | Andrew Tanenbaum's MINIX 3 Operating System. Clearly a much larger and more comprehensive project than IMP OS. Worth a visit. |