An Ada tasking kernel is implemented as a layer beneath the Linux operating system on a PC-compatible machine. This implementation is derived from Yodaiken's Real-Time Linux kernel, with new scheduling and synchronization primitives introduced specifically to support the GNAT Ada runtime system. Primitive operations for real-time Ada tasks are directly implemented on top of the underlying hardware in the form of a loadable Linux kernel module. This design not only reduces execution overhead and improves control over execution timing for tasks, but also opens the door for a simple restricted-tasking runtime system that could be certified for safety-critical applications.
/lp/association-for-computing-machinery/a-linux-kernel-module-implementation-of-restricted-ada-tasking-HkLKuVsw4h