With an age of 17 years I bought my first book on computer architectures and quite soon another one on the Assembler language. One year later and inspired by the possibility to really get into computer hardware, I started programming my first operating system.
This was at a time when I installed the OS for testing on a floppy disk and had to reboot my computer... what a time-consuming process!
A few years later and during my studies of computer science I've migrated everything to the GNU compiler chain and also used a virtual computer to test the images.
Even if the project is not maintained anymore, I still like to link to the website of TcOS.