Составители:
Рубрика:
  27
Для задач реального времени сообщество разработчиков Linux активно применяет 
специальные расширения - RTLinux, KURT и UTIME, позволяющие получить устойчивую 
среду реального времени. RTLinux представляет собой систему "жесткого" реального 
времени, a KURT (KU Real Time Linux) относится к системам "мягкого" реального 
времени. Linux-расширение UTIME, входящее в состав KURT, позволяет добиться 
увеличения частоты системных часов, что приводит к более быстрому переключению 
контекста задач. 
RT-Linux 
RT-Linux - это операционная система, в которой небольшое ядро реального 
времени сосуществует с Posix-like ядром Linux. Основная цель - сделать доступными 
сложные службы и оптимизированное поведение системы в стандартных ситуациях, для 
системы с разделением времени и, в то же время, выполнять задачи реального времени. В 
прошлом операционные системы реального времени примитивны - простые программы, 
которые предлагали пользователю чуть больше, чем просто библиотека основных 
функций. Но в наше время требуют доступ к TCP/IP, графическому дисплею и системе 
окон, базам данных и другим службам, которые не являются ни примитивными, ни 
простыми. Одно из решений - добавить non-real-time службы к базовому ядру реального 
времени, это и было проделано в VXworks и немного по-другому в микроядре QNX. 
Вторая возможность - модифицировать стандартное ядро и сделать его полностью 
прерываемым.  
RT-IX(Modcomp). RT-Linux организован третьим способом, в котором простое 
ядро реального времени запускает обычное ядро как одну из задач реального времени с 
самым низким приоритетом, используя виртуальную машину для того, чтобы сделать 
стандартное ядро полностью прерываемым.  
В RT-Linux все прерывания обслуживаются ядром реального времени, а затем, 
передаются стандартному ядру, но только в том случае, если нет необходимости запускать 
одну из задач реального времени. Для того чтобы минимизировать количество изменений 
в стандартном ядре, этот механизм реализован при помощи эмулирования ICH (Interrupt 
Control Hardware). Ядро реального времени и пользовательские задачи Linux могут 
обмениваться данными через не блокируемые очереди и сегменты разделяемой памяти. С 
точки зрения программиста очереди выглядят как стандартные последовательные 
устройства UNIX, доступ к которым возможен при помощи системных вызовов POSIX 
read/write/open/ioctl. Разделяемая память доступна через системный вызов mmap. RT-Linux 
использует Linux для загрузки, доступа к большинству устройств, работы с сетью, 
файловыми системами, управлением процессами Linux, и загрузки модулей ядра, что дает 
возможность легко модифицировать систему реального времени. Программа реального 
времени состоит из двух частей: задачи реального времени, которая представляет собой 
модуль ядра и обыкновенный UNIX/Linux процесс, который заботится об обработке 
данных, доступу к дисплею и сети, и о любых других функциях которые не требуют таких 
жестких временных рамок. 
На практике оказалось, что идея RT-Linux очень удачна. В самом худшем случае 
запаздывание прерываний на 486/33Mhz PC оказалось менее 30 мкс, что близко к 
аппаратному пределу. Для прикладных задач симбиоз между системой реального времени 
и системой, оптимизированной для «общего случая» оказался очень удачным. Наиболее 
часто используемая конфигурация RT-Linux - примитивные задачи реального времени со 
статически распределяемой памятью, без защиты памяти, простым планировщиком с 
фиксированными приоритетами без защиты от нереализуемых планов, аппаратным 
запрещением прерываний, разделяемая память - единственный механизм для 
Страницы
- « первая
 - ‹ предыдущая
 - …
 - 25
 - 26
 - 27
 - 28
 - 29
 - …
 - следующая ›
 - последняя »
 
