I am interrested in kernel development, and I also enjoy playing with the intricacies of the C++ language, be it syntax details or compiler and runtime implementation. Today, I am starting a new project: a toy kernel in C++.
My goal is to use the C++ language to its full extent in kernel environment. So I don't want to have only classes and inheritance, but I also want exceptions, RTTI, a decent standard library support, etc…
At the end of the day, I expect to have a better understanding of the runtime support required to make C++ programs run; and to see if there is a true benefit in kernel development with "high level" languages.
For now, I don't have a clear list of the features I want in my kernel, so I will start with the assignments from the k course (hence the name for my kernel: k++) and I'll see where it goes.
I will use the GCC toolchain (compiler, linker, etc…) and QEMU for testing. The code is available here.