Ну во первых, там есть ОС.
А давайте вы сперва перечитаете определение ОС?
ОС - комплект программ, предоставляющий API другим программам, назначение ОС - абстрагировать прикладной софт от деталей аппаратной реализации. Чтобы не писать номер головки и дорожки диска, а адресоваться к диску С: каталогу LOG файлу 1.txt. Потому что завтра дисковод поменяется, номер головки и дорожки пойдет по звизде, послезавтра диск вообще станет виртуальный - а ЛОГИЧЕСКИЙ адрес "C:\LOG\1.txt" сохраняется от 1991 до 2021 года.
Когда вы запустите на 3D принтере тетрис, тогда можно сказать, что на 3D принтере есть ОС.
А что станок ЧПУ понимает встроенный язык, так ведь это еще не ОС. У меня в детстве Байт-010 встроенный бейсик понимал, и че? Портировать на него что бы то ни было все равно невозможно, надо переписывать налысо на том самом встроенном бейсике.
Теперь смотрим, что суть риал-тайм система. Вот работает компьютер, подает по очереди команды на исполнение в процессор. И тут прерывание, я кнопку нажал. Или тот же тачскрин тронул. Надо вызвать обработчик нажатой кнопки, он должен получить данные, понять, какому процессу в системе они предназначены, и мне отсигналить, что данные получены (изменить цвет тачскрина) - вызвав для этого соотв. процесс вывода на тачскин спрайта другого цвета.
В реал-тайм ОС этот процесс пойдет ВНЕ зависимости от очереди, все остальное по умолчанию уйдет в фон. А в обычной ОС мой запрос (нажатая кнопка) будет поставлен в очередь планировщика. Дональд Кнут, "Операционные системы" же. И когда до него дойдет очередь, вот тогда тачскрин под касанием покраснеет. А если к тому времени уже не будет ни меня, ни корабля вокруг - "купите уже нормальный проц и память, а то как лохи на 4ГБ летаете", как нам когда-то отвечали на вопрос - "почему винда тормозит, а QNX нет".
Какими программными средствами QNX это делает - вопрос несколько не по уровню википедии. Тут надо читать первоисточники, я в эти дебри отпогружался в свое время, и повторять не горю желанием.
Так вот, когда канадцы сделали QNX платной, возникла нужна в свободной RTOS. Сюда-то и попытались влезть Red Hat, они хотели сделать дистр пингвина, обрабатывающий все запросы ОЧЕНЬ БЫСТРО, ну прям ВООБЩЕ!!!
Да, на малом числе запросов разницы не видно. Но в промышленных применениях, например, на химических комбинатах, где реально 65000 задвижек и каждая стучится в порт 2-3 раза/сек, разница видна сразу.
Поэтому Linux/windows не могут быть по определению RTOS. Они обрабатывают запросы и выделяют память исходя из условия общей производительности, а не максимально быстрой реакции. Чтобы сделать из Пингвина RTOS там, для начала, надо выкинуть планировщик. Потом межпроцессное взаимодействие переписать полностью, т.к. unix-soket откуда растут ноги, изначально не RT, он сетевой оптимизированный.
Впрочем, я обещал в дебри не лезть. Исходники к вашим услугам, обучающие курсы и всякое такое, сейчас не то, что в 1990х, когда сраную коллизию в sysinit никто не мог на русском описать, и даже на буржуйском немного находилось достоверной инфы.