Ответ 1
RTOS обычно характеризуется пропускной способностью и возможностями для прогнозирования и приемлемости. Обычное определение "людей в реальном времени" применяется "детерминированным"; вы не можете иметь детерминизм, не платя за него.
В общих целях OS'es мы мотивированы "обычным" поведением - мы хотим очень хорошую среднюю производительность и большую гибкость. В RTOS нам нужен надежный потолок для поведения "наихудшего случая", и мы платим (часто очень дорого) в режиме пропускной способности или обычном случае.
Да, возможно создавать гибриды, такие как Windows или даже потоки реального времени Linux. Но где-то вы обычно платите штраф, потому что в конечном итоге существует только конечный набор доступных ресурсов (ЦП, пропускная способность IO, что угодно), а потребительские ОС и RTOS'ы оптимизируются по различным критериям. Некоторые из подходов RT Linux имеют дело с этим явно, имея разделы. В каждом разделе оптимизированы различные допущения и разные критерии оптимальности.
Какие функции торгуются? Я не могу предложить точный список - больше того, что ОС OS общего назначения имеет тенденцию иметь миллион драйверов и быть в состоянии идти в ногу с оттоком новых устройств; RTOS, как правило, сосредоточены на гораздо меньшем наборе, для которого своевременность может быть либо хорошо понята, либо явно предотвращена от вмешательства в другие действия. Вероятно, у вас не будет одинакового выбора драйверов на обычной ОСРВ, поскольку, как правило, не разумно их реализовать.
Пропускная способность Помните "в реальном времени"!= "реальный". Когда система работает в режиме реального времени, это означает, что время завершения деятельности является частью их правильности. В некоторых случаях это означает, что обработка многих операций очень быстро (высокая пропускная способность); в других он может обрабатываться в относительно медленный, но чрезвычайно предсказуемый период. Структуры в RTOS могут иметь высокую пропускную способность, но, как правило, не могут обеспечить пропускную способность эквивалентной ОСРВ, поскольку методы, используемые для достижения этой пропускной способности (кэширование, причудливые интерактивные подходы к планированию, "честная" очередь и блокировка) против предсказуемости любой отдельной задачи.