“Almost Unlimited Modern C++ in Kernel-Mode Applications”
summary
Describes running Modern C++ on RTX kernel-mode where Visual C++ lacks DLL support and standard headers yield unresolved externals; fixes include providing a rand_s shim, custom thread library and trimmed filesystem/path implementations. Thread stacks are tiny (8KB thread stacks on RTX), std::thread and condition variables often fail, and thread‑safe static init can crash. Exceptions work but allocating during throw forces Windows bookkeeping and breaks timing. Implements MSR reads to build a private MSR-based PMU and links Fortran and Lua runtimes successfully.
AI-written summary · about
chapters (19)
- 0:00Introduction to C++ in kernel
- 3:58Real-time OS challenges
- 9:19Freestanding vs hosted C++
- 10:08Random number generation issues
- 12:42File system limitations
- 15:53Threading support problems
- 18:30Stack size constraints
- 20:19C++ concurrency summary
- 21:54Static initialization issues
- 22:15Clock synchronization challenges
- 24:01Kernel clock manipulation
- 25:08Exception handling in kernel
- 28:25Debugging and stack traces
- 29:11Runtime module dependencies
- 30:18Other languages in kernel
- 32:25Bounds checking and MPX
- 34:15Performance monitoring options
- 35:41Summary and key takeaways
- 36:23Q&A session
related talks
01h 09m“Modern C++ in Embedded Systems - The Saga Continues”
05mModern C++ in Embedded OS Dev
01h 00mModern Software Needs Embedded Modern C++ Programming
30m"UEFI Applications With Modern C++"
16mThe Cost of Performance: Breaking ThreadX with Kernel Object Masquerading...
01h 11mC++ in the World of Embedded Systems
13mAvoid RTOS C APIs from C++
01h 08mKeynote: What can C++ do for embedded systems developers?
