C++ in Operating Systems: No kernels (the core bit that really does all the nasty work like memory management and drivers ) that I know of are written in C++, just C. Linux is written in C and so is Windows.
See here:
What Languages are Windows, Mac OS X and Linux written in?
Applications ( non-kernel bits that make up an OS ) these days are written in whatever language seems best for the job.
You would choose C++ if the following were important to you:
- You want to make heavy use of classes and inheritence
- You only plan on working on one OS
- You want reasonable performance
- Your developers already know C++
- You want to divide work on similar components to different people or teams ( you can give each time a class or interface to implement )
You can do all of the above with C, portability between platforms is still an issue ( C++ is equally platform specific as most C ) In C you have to be more strict make good use of static and dynamic analysis tools. It's easier to leak memory in C than in C++ too.