Как работают операционные системы реального времени? - PullRequest
26 голосов
/ 11 февраля 2009

Я имею в виду, как и почему операционные системы реального времени могут уложиться в сроки, даже не пропуская их? Или это просто миф (что они не пропускают сроки)? Чем они отличаются от обычной ОС и что мешает обычной ОС быть ОСРВ?

Ответы [ 12 ]

0 голосов
/ 11 февраля 2009

Что важно, так это приложения реального времени, а не ОС реального времени. Обычно приложения реального времени предсказуемы: было выполнено много тестов, проверок, анализа WCET, доказательств, ... которые показывают, что сроки соблюдены в любых указанных ситуациях.

Бывает, что ОСРВ помогают выполнять эту работу (сборка приложения и проверка его ограничений RT). Но я видел приложения реального времени, работающие на стандартном Linux, которые больше полагаются на аппаратную мощность, чем на дизайн ОС.

0 голосов
/ 11 февраля 2009

По сути, вы должны закодировать каждую «задачу» в ОСРВ так, чтобы она завершилась за конечное время.

Кроме того, ваше ядро ​​будет выделять определенное количество времени для каждой задачи, пытаясь гарантировать, что определенные вещи происходили в определенное время.

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

...