Назначение ОСРВ
Операционные системы реального времени ОСРВ ( Real Time Operating Systems — RTOS ) относятся к программным средствам и предназначены для обслуживания цифровых систем в тех случаях , когда:
? система должна обеспечить не только результат обработки поступившей информации, но и длительность времени получения результата. От ОСРВ требуется наряду с получением необходимого результата реализовать заданные временные параметры: интервалы времени между событиями и откликами или заданную частоту приема внешних данных и выдачи результатов;
? система способна выполнять несколько задач одновременно. Типичная мультизадачная операционная система выделяет каждой задаче (программе) одинаковый интервал времени, создавая у пользователя впечатление, что все программы выполняются одновременно. Операционная система реального времени представляет собой частный случай мультизадачной операционной системы, оптимизированной для реализации процессов управления. Она быстро реагирует на внешние события и позволяет имитировать работу нескольких процессоров, каждый из которых контролирует одно устройство. Поэтому для управления сложной системой с помощью одного процессора целесообразно использовать ОСРВ, которая способна координировать выполнение различных задач. Примером ОСРВ может служить система управления лифтами.
Принцип работы ОСРВ
При поступлении запроса производится проверка на входные данные для решения задачи. При их наличии задача начинает выполняться. ЕСЛИ необходимые входные данные отсутствуют, то ОСРВ переходит к следующей задаче (при наличии запроса на ее выполнение). Для получения входных данных и запуска соответствующей задачи используются прерывания. Запуск задачи обычно производится путем ее пересылки из очереди ожидающих задач в очередь задач, предназначенных для выполнения.
Каждая задача имеет входную очередь сообщений, которые она может обрабатывать только в течение отведенного интервала времени или при запросе на прерывание. Если ответ занимает слишком много времени, то задача помещается обратно в очередь выполняемых команд, и управление передается следующей задаче.
Системные ресурсы (дисковые накопители, таймеры, устройства ввода–вывода и др.) обычно доступны только для определенных задач. Это позволяет организовать очередь запросов к ресурсам таким образом, чтобы предотвратить одновременный доступ к одному ресурсу нескольким задачам.
Требования к ОСРВ.
Современные ОС PB должны удовлетворять следующим требованиям:
? малое время отклика (получение результата);
? реализация многозадачного режима с гибким механизмом приоритетов;
? малый объем памяти (достаточный для размещения в резидентной памяти прикладной системы);
? наличие сервисных функций и средств поддержки для разработки прикладных программ и ряд других.
В настоящее время для разработки микроконтроллерных систем используется ОСРВ, имеющие различные характеристики и прошедшие апробацию в таких областях применения, как системы автоматизации производства, контрольно–измерительные системы, телекоммуникационная аппаратура, авиационно–космическая и военная техника, транспорт, системы обеспечения безопасности и др.
Типы ОСРВ
Можно выделить два типа ОСРВ:
? системы жесткого реального времени, которые занимают небольшой объем памяти и имеют минимальные время отклика, но обладают весьма ограниченными сервисными средствами. Они реализуются по модульному принципу, что позволяет использовать только те средства, которые необходимы в данном приложении. В результате для конкретного применения достигается существенное сокращение объема необходимой памяти и времени отклика;
? системы мягкого реального времени, которые требуют большего объема памяти, имеют более длительное время отклика, но зато удовлетворяют широкому спектру требований пользователя по режиму обслуживания задач, уровню предоставляемого сервиса. Средства интерфейса систем мягкого реального времени позволяют использовать высокоэффективные отладчики или интегрированные среды разработки.
Система мягкого реального времени.
Этот вид систем рассмотрим на примере системы OS–9 фирмы Microwave Systems . В качестве инструментального компьютера OS –9 использует IBM – PC , работающие в среде Windows , или рабочие станции Sun, HP, IBM RS /6000 с операционными системами типа UNIX . Характерные особенности OS –9:
? модульность, которая обеспечивает возможность конфигурации целевой ОСРВ в соответствии с классом решаемых задач. Исключая неиспользуемые модули, можно сократить объем памяти и снизить стоимость системы;
? гибкость структуры, обеспечивающая реконфигурацию системы и расширение ее функциональных возможностей. Функциональные компоненты OS–9:
? ядро реального времени ( OS –9 kernel );
? общие средства ввода/вывода ( I / O man );
? файловые менеджеры;
? средства разработки программ.
Функциональные компоненты OS –9 выполнены в виде автономных модулей, которые могут удаляться или добавляться с помощью простых команд, не требующих повторной компиляции или перекомпоновки. Комбинируя модули, можно создавать целевые операционные системы с различными функциональными возможностями.
Рассмотрим Перечисленные выше функциональные компоненты.
Ядро реального времени
Система содержит два вида ядер:
? ядро Atomic , реализующее минимальное количество сервисных функций (дистанционную загрузку, связь с локальной сетью, управление ведомыми микроконтроллерами). Ядро применяется в системах, встраиваемых в различную аппаратуру, имеет малый объем (24 Кбайт) и обеспечивает минимальное время отклика (3 мкс при тактовой частоте 25 МГц);
? ядро Standard , обеспечивающее выполнение широкого набора функций сервиса и разработки прикладных программ, для реализации которых требуется больший объем памяти (до 512К байт ПЗУ и 38К байт ОЗУ). Путем изменения функциональных модулей ядра можно реализовать системы различной сложности и назначения: от встраиваемых в аппаратуру контроллеров с резидентным программным обеспечением и простейшими средствами ввода/вывода до сложно функциональных систем класса рабочих станций с развитой сетевой поддержкой и обеспечением разнообразных функций сервиса, включая мультимедиа.
Система OS –9 предоставляет пользователю возможность выбора ядра в зависимости от функционального назначения системы. Общие средства ввода/вывода. Физический интерфейс OS –9 с разнообразными внешними устройствами обеспечивается большим набором драйверов, созданных как фирмой Microwave Systems , так и многочисленными разработчиками аппаратуры, использующей эту операционную систему для конкретных приложений. Файловые менеджеры. К ним относятся модули, управляющие логическими потоками данных. Каждый из модулей имеет определенное функциональное назначение и спецификацию. Файловые менеджеры можно разделить на три группы:
? стандартные менеджеры, предназначенные для выполнения таких базовых функций обмена с внешними устройствами как организация очереди поступающих команд, управление байтовым и блочным последовательным обменом и обменом с прямым доступом к памяти;
? сетевые и коммуникационные менеджеры, обеспечивающие работу OS –9 с различными сетями и обмен данными по каналам связи с наиболее распространенными стандартами протоколов обмена;
? менеджеры графического интерфейса и работы с мультимедиа–приложениями. Средства разработки программ. В составе OS –9 имеется пакет программ (BSP) для поддержки плат развития, который обеспечивает совместную работу OS–9 с целым рядом SBC (Single Board Computer — одноплатный компьютер). Совместное использование BSP и OS–9 позволяет сконфигурировать целевую систему для конкретного приложения.
Система OS–9 содержит средства поддержки программирования: компиляторы Ultra C/C++, текстовый редактор ЕМ ACS , три вида (в том числе символьных) отладчиков, набор утилит для организации контроля и сборки программных продуктов. Помимо этого имеется большой набор (совместимых с OS –9) средств поддержки программирования, которые разработаны другими фирмами. Интегрированная среда разработки FasTra к. Среда FasTrak поставляется совместно с OS–9 и предоставляет пользователю наиболее полный комплект средств программирования и отладки. Часть программных средств FasTrak инсталлируется на инструментальном компьютере, а часть — на целевой системе пользователя. Среда FasTrak интегрирует все средства, необходимые для поддержки проектирования/отладки целевых систем. Версия среды FasTrak для работы на инструментальном компьютере IBM – PC содержит:
? текстовый редактор, располагающий средствами перекодировки клавиатуры, что позволяет вести редактирование в удобном для пользователя формате;
? компиляторы Ultra C/C++;
? отладчики, обеспечивающие два режима отладки: пользовательский — для создания прикладных программ, и системный — для обслуживания прерываний, системных вызовов и обращения к ядру реального времени;
? средства интерфейса с логическими анализаторами фирмы.
Среда FasTrak обладает широкими функциональными возможностями, что делает ее эффективным средством создания программного обеспечения для различных микроконтроллерных систем.
Фирма Microware Systems поставляет ряд системных пакетов, ориентированных на различные сферы приложения:
? Wireless OS –9 — для разработки устройств беспроводной связи: сотовых телефонов, пейджеров, портативных цифровых ассистентов ( PDA );
? Internet OS –9 — для разработки устройств с доступом к сети Internet ;
? Digital Audio / Video Interactive Decoder ( DAVID ) OS –9 — для разработки распределенных систем цифрового интерактивного телевидения.
Система жесткого реального времени
Особенности этого вида систем рассмотрим на примере системы VxWorks фирмы WindRiver Systems , предназначенной для работы с семействами микропроцессоров многих производителей. Система VxWorks инсталлируется на отлаживаемой целевой системе и работает совместно с интегрированной средой разработки Tornado , функционирующей на инструментальном компьютере. В качестве инструментального компьютера используются IBM – PC , работающие в среде Windows , или рабочие станции SUN, HP и др. Краткое описание системы VxWorks. Нижним уровнем иерархической организации системы служит микроядро реального времени, выполняющее базовые функции планирования задач и управления их связью и синхронизацией. Минимальный набор модулей ядра занимает 20–40К байт памяти. Все остальные функции — управление памятью, вводом/выводом, сетевым обменом и другие, реализуются дополнительными модулями. Для поддержки графических приложений VxWorks располагает графическим интерфейсом VX–Windows.
При ограниченном объеме памяти целевой системы можно воспользоваться графической библиотекой RTGL, которая содержит базовые графические примитивы, наборы шрифтов и цветов, драйверы типовых устройств ввода и графических контроллеров. В состав VxWorks входят также различные средства поддержки разнообразных сетевых протоколов. Трассировку заданных событий и их накопление в буферной памяти для последующего анализа выполняют в реальном времени специальные средства отладки, а трассировку системных событий — динамический анализатор WindView . Анализатор WindView работает аналогично логическому анализатору, отображая на экране временные диаграммы переключения задач, записи в очередь сообщений и другие процессы. Монитор данных Stethoscope позволяет анализировать динамическое изменение пользовательских и системных переменных, включая в себя также профилировщик процедур. В составе VxWorks имеется:
? пакет программ для поддержки плат развития;
? симулятор VxSim , позволяющий моделировать на инструментальном компьютере многозадачную среду VxWorks и интерфейс с целевой системой, а также разрабатывать и отлаживать программное обеспечение без подключения целевой системы.
Для комплексной отладки целевых систем VxWorks обеспечивает интерфейс со схемными эмуляторами и эмуляторами ПЗУ. Интегрированная среда разработки Tornado . В состав Tornado входит система VxWorks 5.3, включающая ядро реального времени и системные библиотеки, средства программирования, высокоуровневый отладчик и ряд других средств системы. Дополнительные средства среды Tornado обеспечивают управление процессом отладки, визуализацию состояния целевой системы, другие сервисные функции. Открытая архитектура среды Tomado позволяет пользователю подключать собственные специализированные инструментальные средства и расширять возможности стандартных средств.
Операционная система реального времени VxWorks вместе с интегрированной средой Tornado является мощным средством реализации целевых систем, работающих в условиях жестких ограничений на объем используемой памяти и время отклика на внешние события.