1. Речь о многозадачности - это не о "...пользователь на лету может совать всякую херню ", а о режиме реального времени.
Любой промконтроллер должен "параллельно" опрашивать периферию, обрабатывать данные, включать исполнителей, опрашиваться верхним уровнем, индицировать, и т.п. Куча процессов и прерываний. Для этого и вытесняющая многозадачность. Можно конечно и ручками, без многозадачной оси париться со светофорами, реентерабельностью и пр., а потом при любом изменении ловить новых блох. Но проще и для МК пользовать многозадачное микроядро, если ресурсы МК позволяют.
2. Специализацию и орудия труда не Билл Г. придумал. Каждый должен заниматься своим делом, используя оптимальный инструмент. Основное назначение языков высокого уровня и ОС- изолировать программиста от ньюансов железа и повысить производительность труда и надежность системы. Процент талантов/универсалов не растет. Я знаю немало отличных программистов, которых бессмысленно учить
электронике, и на пушечный выстрел нельзя подпускать к железу- или себя повредят или ухитряться убить железо
. А потеря скорости компенсируется ростом производительности на рубль стоимости железа. Конечно, если котлован под дом копать лопатами, он будет гораздо аккуратнее... Все зависит от конкретных задач, яму под дерево на даче я экскаватором тоже рыть не буду. Правда, если лопаты нет, хозмаг далеко, а экскаватор рядом, то не уверен...