I have always been fond of the idea of having an operating system kernel written entirely in C++ so that it had a clean class hierarchy, exception-based error control, etc. I know this is very difficult to achieve due to the inherent complexity of C++ and its runtime, but not impossible if appropriate care is taken.
C++ for Kernel Mode Drivers is an article I just found that talks about using C++ in driver code for the Windows OS. It explains in great detail why using C++ is difficult and discouraged in such scenario. Without paying much attention to Windows-specific details, it is a good read no matter which OS you develop for.
Comments from the original Blogger-hosted post: