В настоящее время это свойство ПОЛНОЙ СИСТЕМЫ. Для достижения свойства реального времени в системе все его компоненты (включая аппаратное обеспечение, операционную систему, драйверы, библиотеки и приложения) должны быть разработаны с учетом требований, предъявляемых к системам реального времени. Такие компоненты (например, RTOS) могут использоваться для создания системы реального времени. Но их использование автоматически не означает, что конечная система будет системой реального времени. Фактически, если хотя бы один из компонентов вашей системы не поддерживает требования систем реального времени, вся ваша система не будет в режиме реального времени!
Системы реального времени обычно имеют ресурсы, значительно превышающие средние требования задач реального времени. Неиспользуемые ресурсы могут использоваться для выполнения полезных, но некритических фоновых задач, таких как ведение журнала, мониторинг состояния системы, сбор и анализ статистики и т. Д. Приложения, которые будут выполнять эти задачи, могут быть сконструированы как не в реальном времени компоненты, которые работают поверх компонентов в реальном времени. Эта конструкция безопасна, если вы уверены, что все компоненты, участвующие в задачах реального времени, поддерживают требования в реальном времени. В связи с этим прямой ответ на ваш вопрос:
Это полностью зависит от приложения. В общем, весь код, который не используется при обработке задач в реальном времени, МОЖЕТ записываться как не в режиме реального времени. Весь код, который используется при обработке задач реального времени, ДОЛЖЕН быть записан в режиме реального времени.
Что Xenomai делает это изоляция не в реальном времени Linux и ее деятельности, используемой для обработки задач, не в режиме реального времени в специальном контейнере, который запускается поверх RTOS ядра и параллельно с ОС реального времени основанные на реальном времени задачи. Чтобы создать систему реального времени на базе Xenomai, ваше приложение должно полагаться только на API Xenomai, а также на другие библиотеки и API, которые известны и, как доказано, являются реальными. Все фоновые действия, которые могут быть полезны, но совершенно некритичны, могут быть записаны как обычные приложения Linux.
Такие системы и службы, как службы хранения и сетевых услуг, обычно не используются в задачах реального времени, поскольку обычно используемое оборудование очень неопределенно и, следовательно, не вписывается в концепцию реального времени. Трудно сказать, какое время потребуется, чтобы отправить пять пакетов по сети или записать файл на жесткий диск. В связи с этим интерфейсы для таких систем не являются обычным явлением. Но опять же, приложение диктует, какие службы реального времени ему нужны. Я могу представить себе задачи реального времени, которые включают в себя операции хранения и сети. В случае таких задач разработчик вынужден найти такие системные компоненты, которые будут предоставлять услуги хранения в реальном времени и сетевые службы. Как вы можете видеть, Ксеномай не является кандидатом.
Это очень полезно. Благодарю. Можете ли вы указать мне ссылку, в которой говорится о дозах и не в реальном времени, кроме того, что говорит Ксеномай? –
@ АнишаКауль, позвольте мне искать. К сожалению, не так много приложений/пользователей в режиме реального времени для широкого спектра информации, которая будет доступна в Интернете. – Shahbaz
Да, это проблема. Пожалуйста, если вы найдете здесь что-то ссылку. Благодарю. –