Введение

Расширение реального времени для ядра Linux

Real time application interface (RTAI) – это расширение реального времени для ядра Linux, позволяющее пользователям разрабатывать приложения со строгими требованиями к времени отклика для Linux. Как и сам Linux, программное обеспечение RTAI является результатом коллективных усилий. RTAI обеспечивает детерминированное реагирование на прерывания, а также задачи реального времени, соответствующие стандарту POSIX и собственные задачи RTAI. RTAI поддерживает различные архитектуры, включая IA 32 (с и без FPU и TSC), x86 64, PowerPC, ARM (StrongARM и ARM7: семейства clps711x, Cirrus Logic EP7xxx, CS89712, PXA25x) и MIPS. RTAI состоит главным образом из двух частей: патча для ядра Linux на основе Adeos, который вводит слой аппаратной абстракции, и широкого спектра сервисов, облегчающих работу программистов в режиме реального времени. Версии RTAI выше 3.0 используют патч ядра Adeos, слегка модифицированный для архитектуры x86, обеспечивающий дополнительную абстракцию и значительно сниженную зависимость от "исправленной" операционной системы. Adeos – это патч ядра, включающий в себя конвейер прерываний (Interrupt Pipeline), в котором различные домены операционной системы регистрируют обработчики прерываний. Таким образом, RTAI может прозрачно перехватывать прерывания, оставляя обработку всех остальных Linux. Использование Adeos также освобождает RTAI от патентных ограничений, возникших в связи с проектом RTLinux.

RTAI-XML

RTAI XML — это серверный компонент RTAI, реализующий сервисно-ориентированный подход к проектированию и разработке приложений управления в реальном времени (RT). Этот проект возник из необходимости университетской группы в гибкой платформе для обучения проектированию систем управления, позволяющей студентам удалённо тестировать свои программы через Интернет. От первоначальных идей к реальной реализации привела альфа-версия RTAI XML, продемонстрировавшая потенциал базовой идеи чёткого разделения задач жёсткого и мягкого реального времени в логике программирования. То, что изначально требовалось для защиты RT-процесса от сбоев, вызванных студентами, теперь становится новой парадигмой RTAI. RTAI XML состоит из серверного компонента, ожидающего входящие вызовы на устройстве, где запущен (или готов к запуску) процесс Target. Универсальная клиентская программа, Host, может обращаться к серверу через сеть TCP/IP, используя стандартный протокол на основе XML, и таким образом взаимодействовать с Target для мониторинга состояния RT-процесса, просмотра собираемых (или генерируемых) системой сигналов, а также для получения и изменения параметров RT (например, коэффициентов усиления в контуре обратной связи PID). Иными словами, RTAI XML предоставляет простой способ удалённого управления приложениями, повышая гибкость проекта RTAI без потери ключевых преимуществ открытой и стандартной реализации. В разделе RTAI XML на этом сайте представлены подробности реализации. Общая архитектура пересмотрена с акцентом на три ключевых компонента: сервер, интерфейс Server Target и связь Server Host. В разделе «Приложения» приведены примеры систем управления на основе RTAI XML, а в разделе «Ссылки» — полезные материалы и ссылки для дальнейшего изучения этой темы.