Разработка драйверов для систем с двойным ядром - головная боль. Часто приходится изобретать велосипед: собственные протоколы, костыли с памятью и IPC, нестандартные интерфейсы, которые невозможно было переиспользовать.
Проблема решилась с появлением Real-Time Driver Model:
Это слой абстракции для разработки драйверов устройств и приложений в системах реального времени под Linux, часто используемый вместе с фреймворком реального времени Xenomai. Она предоставляет собой унифицированные API и профили устройств для стандартизации драйверов и поддержки функциональности RTOS
☑️Есть единый фреймворк для взаимодействия драйвера с ядром и с пользовательским пространством
☑️Появились крупные проекты на RTDM: например, Comedi для разработки драйверов и систем сбора данных
☑️ RTDM обладает детерминированным поведением
☑️ RTDM позволяет приложениям и драйверам реального времени работать с обычными (не real-time) приложениями и сервисами Linux