Linux реального времени
У Linux много достоинств: открытость кода; большое количество сопутствующего программного обеспечения, пока в основном ориентированного на серверные применения; наличие неплохой документации на API-интерфейс и ядро операционной системы; работа на процессорах различных классов. В данный момент эта ОС готова к стабильной работе, а открытость ее исходных текстов и архитектуры наряду с растущей популярностью заставляет программистов переносить свои наработки на многие аппаратные платформы. Для задач реального времени сообщество разработчиков Linux активно применяет специальные расширения – RTLinux, KURT и UTIME, позволяющие получить устойчивую среду реального времени. RTLinux представляет собой систему "жесткого" реального времени, а KURT (KU Real Time Linux) относится к системам "мягкого" реального времени. Linux-расширение UTIME, входящее в состав KURT, позволяет добиться увеличения частоты системных часов, что приводит к более быстрому переключению контекста задач.
Операционные системы реального времени и Windows NT
Windows NT, предназначенная в основном для классических приложений, не является хорошей платформой для поддержания обработки в реальном времени. Тем не менее на ее базе можно все-таки построить простую мягкую СРВ, время от времени допускающую опоздания. Следующие обстоятельства могут облегчить построение СРВ на базе NT:
– загрузка CPU низка (DPC имеют достаточно времени);
– критическая работа делается на уровне DPC или на уровне ISR.
Но для жесткой СРВ использование Windows NT невозможно – система реального времени никогда не будет предсказуемой. Что следует изменить в Windows NT, чтобы ее можно было использовать в жестких СРВ?
a) Класс процессов реального времени должен иметь больше уровней.
б) Необходимо решить проблему инверсии приоритетов.
в) Время, затрачиваемое каждым системным вызовом, должно быть предсказуемо и известно.
г) Система прерываний должна быть заменена целиком:
– DPC должны иметь много уровней приоритетов;
– DPC должны быть вытесняемыми более приоритетными DPC.
– драйверы от третьих фирм и системные драйверы должны быть настраиваемыми (уровни прерываний ISR, уровни прерываний DPC) ;
– драйверы от третьих фирм должны быть открыты для разработчиков, должно быть известно по крайней мере максимальное время, затрачиваемое на работу ISR и DPC;
– должно быть известно время маскирования прерываний.
Дата добавления: 2022-05-27; просмотров: 79;