Hi,
I am happy you appreciate the codebase, probably it is my reaction to the coding horrors I have to witness and bear in my job
About ChibiOS, it is a loooong story (popcorn recommended).
Everything started when I bought by pure chance this book (still an excellent book):
Operating System Design: The XINU Approachby
Douglas ComerIt was 1988 if I remember well and I immediately got interested in this OS and its design, I decided to test it by porting it from the PDP11 architecture to my Atari ST, I began to work on it. During the port process the thing become more and more interesting, at the end it was not just a port but a whole different thing, an OS posix-like where nothing of Xinu was left, it was self hosting and able to run emacs, binutils, GCC 2.x and all the Unix-like utils, it was able to handle 3 terminals concurrently and 4 virtual terminals on the bitmapped console.
It was a monolithic OS but it had something interesting, the kernel was preemptable and it implemented kernel threads (something unknown at that time, we called them co-processes, processes that shared the same address space of normal Unix-like processes but were faster to create).
It was a complete OS by 1991 named BDP. It was missing a networking stack and didn't handle virtual memory nor protection because the limitations of the 68000, our plan (I worked on that with my friend Isidoro) was to port the whole thing on those new 386 that were becoming affordable. Then Linux happened and we decided to focus on other things.
However I decided to create a spawn from BDP, a challenge with myself: create a whole kernel as small as possible, I pulled code from BDP but again I ended up rewriting it into something entirely new; the MK kernel. Things like MK, I learned several years later, are called RTOSes
That old MK kernel was functional in 1992 (it is on the SF files area if you want to see it, compare with the current ChibiOS) and was the director ancestor of ChibiOS. Too busy with my career, I dropped it for a while with the idea to resurrect it at some point. About 15 years later, it was a boooring Sunday, I was staring at my old Atari ST silently sitting in a corner of my room and I decided to see how MK looked after 15 years, it still looked good, incidentally I needed a RTOS and in the meanwhile I got interested in open source. I decided to refresh the code and make it a FOSS project, it went live in 2007 on SF, then for 2 years nothing happened, zero interest, but I can be stubborn so the project continued, after those first years it began to increase in popularity, in September 2012 it will be the 5th birthday but the whole thing started about 24 years ago.
Do not blame me, you asked for it
Giovanni