Я взагалі не робив жодної роботи в реальному часі, тому візьміть це з зерном солі ...
Мені кажуть, що існує дві категорії "реального часу": жорсткий у режимі реального часу та м'який у режимі реального часу.
"М'який в режимі реального часу" неформально означає "зробити це якомога швидше". Я думаю, що Linux на сучасному процесорі хороший для подібних речей.
"Жорсткий в режимі реального часу" неофіційно означає "зробити це протягом необхідного часового періоду". Вікно може бути зовсім маленьким, мілісекунди чи щось таке. Системи управління польотами для крилатих ракет або супутникових ракет-носіїв здаються канонічним прикладом. Цього може знадобитися і систем управління промисловими процесами. Черв'як Stuxnet, схоже, перешкоджає системам, які здійснюють такий контроль.
В останній ситуації ви використовуєте RTOS. RTOS часто гарантує доставку перерви менш ніж стільки інструкцій, годинників та інших.
Іншим моментом може бути те, що RTOS був розроблений, випробуваний та / або "доведено", щоб він не використовував стек простору без обмежень. Він може жити всередині певного мінімального обсягу пам’яті, а таких речей, як «OOM Killer» не існує, оскільки вони, очевидно, ніколи не потрібні. Деякі особливості гуферу раннього FORTRAN випливають із цього типу вимог. Коли ви складали програму FORTRAN II, ви точно знали, скільки стека і скільки купи це потрібно, оскільки ви не могли повторити, і ви не могли динамічно виділити нічого.
Реально, другий розгляд (гарантоване максимальне споживання пам'яті) може бути важливішим у деяких критично важливих для безпеки додатках, ніж "гарантована затримка переривання 0,001 секунди".
Я б також міг уявити, що, знімаючи процес відбору інжирного аркуша підтримуючої багатослівності, ви виявите, що інженери обирають RTOS, оскільки "вимоги говорять".