Мой тебе совет - купи себе доску, порисуй на ней архитектуру пару дней с перерывами, разбей все на потоки условные. Возможно все окажется проще и можно будет упихать без ОС в 2 прерывания все)))
Ну или не получится в прерывания, то будет понятна структура задач и взаимодействия между ними, а именно какие очереди нужны и кто в них пишет/читает