надо очередь задач
мониторить прямо в шедулере, как вариант "смотреть"
% загрузки прямо в нем.
Пусть он будет не тупым кольцевым переключателем, а "должен понимать", как необходимый минимум, кто допустим, превышает 40% загрузки CPU более чем трижды за последние кванты ему отведенные.
И если это зафиксировано, то такую задачу (поток),
жестко ставить в конец очереди (кольца)...
Тогда "нормальные" задачи перетусуются вперед кольцаавтоматически
А если еще круче и ширше взлянуть на проблемы, куда попадает и эта, а она вливается в общее название
таймеры. Там закопаны и nanoSleep, кванты, приоритеты, синхронные события...
Если нужен рецепт, то он тут был причем подточен именно под RTOS.
Т.к. если по тупому посмотреть из "готового" так и винда типа кое что переключалкой делать умеет, а вот временные события хотя бы более-менее и без висяков... неееееА!
Как базовая технология
таймеро-квантового движка ядра, позволяющая культурно порешать ВСЕ эти проблемсы и узкие места есть на этом форуме.