Чем операционная система реального времени отличается от ОС не реального времени?

Чем операционная система реального времени отличается от ОС не реального времени?

24.04.2018 10:33:11 Просмотров 27 Источник

Предыстория вопроса:

Один мой друг удивляется, как Илон Маск запускает ракеты на Linux, ведь эта система не является системой реального времени.

Что это вообще такое: ОС реального времени и чем она отлична от тех ОС, что мы используем: Linux/Win?

У вопроса есть решение - Посмотреть?

https://ru.stackoverflow.com/questions/818535/%d0%a7%d0%b5%d0%bc-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d0%b0%d1%8f-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b0-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d0%be%d1%82-%d0%9e%d0%a1-%d0%bd%d0%b5-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8#comment1302392_818535
Гарантированное время отклика. Кстати, RT Linux — очень старый проект, ныне развивающийся под эгидой Linux Foundation.
https://ru.stackoverflow.com/questions/818535/%d0%a7%d0%b5%d0%bc-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d0%b0%d1%8f-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b0-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d0%be%d1%82-%d0%9e%d0%a1-%d0%bd%d0%b5-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8#comment1303671_818535
А зачем ракете система реального времени?
https://ru.stackoverflow.com/questions/818535/%d0%a7%d0%b5%d0%bc-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d0%b0%d1%8f-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b0-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d0%be%d1%82-%d0%9e%d0%a1-%d0%bd%d0%b5-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8#comment1304012_818535
@Эникейщик, вовремя включать двигатели, там же до миллисекунд должна быть точность. Если прозевать включение, то из за масштабов расстояния, ракета улетит не туда.

Ответы - Чем операционная система реального времени отличается от ОС не реального времени? / Чем операционная система реального времени отличается от ОС не реального времени?

Является ответом!
Pavel Mayorov

24.04.2018 11:08:56

ОС реального времени - это такая ОС которая способна гарантировать строгое время начала выполнения задач.

Все процессы в такой ОС имеют три параметра:

  1. период;
  2. (максимальную) длительность исполнения;
  3. максимально допустимую задержку.

Разумеется, если таких процессов несколько, эти условия могут оказаться невыполнимыми. В таком случае от ОС реального времени ожидается что она заранее сообщит об ошибке, а не тогда когда все будет уже поздно.

В качестве примера можно привести игры. Иногда бывает, что железо "не тянет" игру и игра подлагивает. Или во время игры какая-то другая программа может решить заняться чем-то тяжелым - и тогда игра тоже начинает лагать. Так вот: в ОС реального времени такие лаги недопустимы; если игре нужно рисовать кадр N раз в секунду - то ОС или гарантирует ей такую возможность, или не даст запуститься.

Почему такие ОС не используются на обычных компьютерах, если там все так чудесно? Да потому что под них очень сложно писать программы. Посмотрите пункт 2 - много ли программистов готовы назвать максимальную длительность исполнения их кода? :-)

https://ru.stackoverflow.com/questions/818535/%d0%a7%d0%b5%d0%bc-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d0%b0%d1%8f-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b0-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d0%be%d1%82-%d0%9e%d0%a1-%d0%bd%d0%b5-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8/818552#comment1301910_818552
Хот по идее то сложность исполнения той или оной функции рассчитать не трудно, надо брать худший реально возможный случай и все)
https://ru.stackoverflow.com/questions/818535/%d0%a7%d0%b5%d0%bc-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d0%b0%d1%8f-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b0-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d0%be%d1%82-%d0%9e%d0%a1-%d0%bd%d0%b5-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8/818552#comment1302331_818552
@VasyaMilovidov, бесконечность?
https://ru.stackoverflow.com/questions/818535/%d0%a7%d0%b5%d0%bc-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d0%b0%d1%8f-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b0-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d0%be%d1%82-%d0%9e%d0%a1-%d0%bd%d0%b5-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8/818552#comment1302445_818552
@donRumata, нет не бесконечность. Если у вас есть какой-то фиксированный набор данных, то вы можете рассчитать время обработки этих данных. А если ваша функция зависит от каких-то внешних данных, то можно указать таймауты после которых вы сбрасываете ожидание и передаете вызов дальше. Я новичёк, не судите строго.
https://ru.stackoverflow.com/questions/818535/%d0%a7%d0%b5%d0%bc-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d0%b0%d1%8f-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b0-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d0%be%d1%82-%d0%9e%d0%a1-%d0%bd%d0%b5-%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8/818552#comment1403948_818552
@VasyaMilovidov не забываем, что речь о физическом контакте с реальным миром. Поток данных от датчиков уровня топлива. давления, температуры, ускорении и т.д. практически постоянный - бесконечный в пределах жизни ракеты.... как и биение сердца - бесконечное в пределах жизни человека. Не могу найти классных пост на СО о том, как программировали софт для критически важных объектов - атомные станции, ракет и тд...
Закрыть X