RT preempt vs RTAI vs Xenomai для linux в реальном времени

каковы различия, плюсы и минусы трех упомянутых рамок ОС в реальном времени, расширений или патчей?

Я хочу измерить счетчик меток времени процессора (TSC), время в наносекунде каждый раз, когда отправляется или принимается кадр данных или кадр ack Wifi.

и я понял, что один из трех методов реального времени требуется для повышения точности и уменьшения дрожания из-за опережающего, прерывания и изменения контекста.

В настоящее время я применяю RTAI к ядро. Поскольку компиляция занимает много времени, я хотел бы прочитать что-то об этих трех.

не могли бы вы порекомендовать некоторые документы или объяснить об этом?

1 ответов


нашел интересную статью, сравнивающую Xenomai vs Preempt-RT с базовым тестом GPIO (vs stock kernel).

https://www.osadl.org/fileadmin/dam/rtlws/12/Brown.pdf

Xenomai имеет лучшую производительность в целом (меньше дрожания), но использование его заставит вас пересмотреть пользовательский драйвер с помощью конкретного rtdm api. С другой стороны, поскольку Preempt RT не находится в ядре mainline, он менее протестирован, и у вас также могут быть проблемы.

(Xenomai3 имеет на самом деле два подхода : либо использование микроядерного ядра в реальном времени для управления потоками и прерываниями в реальном времени, либо если вам нужно меньше производительности, используя его с одним ядром preempt-rt)