Almost Unlimited Modern C++ in Kernel-Mode Applications
Rian Quinn's "Making C++ and the STL Work in the Linux/Windows Kernels" from CppCon 2016 showed the difficulty of making C++ code work correctly in kernel mode. For some real-time systems, though, developing C++ applications that run in kernel mode "just works" as most of the necessary runtime support for Modern C++ is already available. Platform limitations, though, can offset the development gains that come with easy access to hardware. This talk will present a variety of issues — such as limited filesystem functionality, missing memory protection, limited debugging and performance monitoring tools, and constrained resources — that impact usage of standard C++ functionality and require additional due diligence on the part of the developer. Topics will include testing in user mode; kernel-mode exceptions; and programming the Intel performance monitoring hardware.