Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРВ 2013.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
361.98 Кб
Скачать

20. Linux реального времени.

Для задач реального времени сообщество разработчиков Linux активно применяет специальные расширения – RTLinux, KURT и UTIME, позволяющие получить устойчивую среду реального времени. RTLinux представляет собой систему «жесткого» реального времени, а KURT (KU Real Time Linux) относится к системам «мягкого» реального времени. Linux-расширение UTIME, входящее в состав KURT, позволяет добиться увеличения частоты системных часов, что приводит к более быстрому переключению контекста задач.

Проект KURT характ-ся миним-ыми изменениями ядра Linux и предусматривает два режима работы – нормальный (normal mode) и режим реального времени (real-time mode). Процесс в любые моменты времени может перекл-ся м/у этими режимами. Программный пакет KURT оформлен в виде отдельного системного модуля Linux – RTMod, кот-й становится доп-ым планировщиком реал. времени. Данный планировщик может тактироваться от любого системного таймера или от прерываний стандартного параллельного порта. Программист может переключаться из одного режима в другой по событиям, либо в определенных местах программы. При переключении в режим РВ все процессы в с-ме «засыпают» до момента освобождения ветви процесса реал. времени. Это довольно удобно при реализации задач с большим объемом вычислений, по своей сути требующих механизмов реального времени. (обработка аудио- и видеоинфо)

Станд-но такты планировщика RTMod задаются от системного таймера – время переключения контекста задач реал. времени равно 10 мс. Используя же KURT совместно с UTIME, можно довести время переключения контекста задач до 1 мс.

API-интерфейс KURT разделяется на две части – прикладную (позв-ет програм-ту упр-ть поведением процессов) и системную (предназначена для манипулирования пользоват.процессами и програм-я собств-х планировщиков).

Простота исп-я KURT позволяет с макс. комфортом програм-ть задачи, требующие как фун-й реал. времени, так и всего многообразия API-интерфейса Unix. Использ-е «мягкого» РВ обычно подходит для реализации мультимедийных задач, а также при обработке разного рода потоков инфо, где критично время получения результата.

RTLinux – это дополнение к ядру Linux, реализующее режим «жесткого» реал. времени, кот-е позволяет упр-ть различными чувствит-ми ко времени реакции системы процессами. По сути, RTLinux – это операционная система, в которой маленькое ядро реал. времени сосуществует со стандартным POSIX-ядром Linux.

Разработчики RTLinux пошли по пути запуска из ядра реал. времени Linux-ядра как задачи с наименьшим приоритетом. В RTLinux все прерывания обраб-ся ядром реал.времени, а в случае отсутствия обработчика реал. времени — передаются Linux-ядру. Фактически Linux-ядро является простаивающей задачей ОС РВ, запускаемой только в том случае, если никакая задача РВ не исполняется.

Для обмена данными м/у ОС РВ и Linux могут исп-ся след-е механизмы: разделяемые области памяти; псевдоустройства, предоставляющие возм-ть обмена данными с приложениями РВ.

Ключевой принцип построения RTLinux – как можно больше исп-ть Linux и как можно меньше собственно RTLinux. Именно Linux заботится об инициализации системы и устройств, а также о динамич-м выделении ресурсов. «На плечи» RTLinux ложится только планирование задач РВ и обработка прерываний.

Многие разработчики уже приняли Linux и внедряют ее в своих коммерческих проектах как основную ОС для серверов приложений. Но до сих пор при реализации вертикальных проектов на нижнем уровне применялись специализированные ОС реал. времени. Ситуация может существенно измениться благодаря использ-ю расширений реал.времени для Linux. Теперь не надо тратить средства на изучение и покупку специализир-ой ОС, а весь проект можно реализ-ть в рамках одной системы и без чрезмерных затрат.