Операционные системы реального времени

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

  • Вычислительная техника
    • Микроконтроллеры микропроцессоры
    • ПЛИС
    • Мини-ПК
  • Силовая электроника
  • Датчики
  • Интерфейсы
  • Теория
    • Программирование
    • ТАУ и ЦОС
  • Перспективные технологии
    • 3D печать
    • Робототехника
    • Искусственный интеллект
    • Криптовалюты

Чтение RSS

Что такое операционная система реального времени (RTOS) и как она работает

Что такое ОСРВ?

Когда мы слышим слово «операционная система», на сначала приходит мысль о том, что операционная система используется в ноутбуках и компьютерах. Обычно мы используем разные типы операционных систем, такие как Windows XP, Linux, Ubuntu, Windows 7, 8 и 10. В смартфонах операционные системы типа Android имеют свои разновидности вроде KitKat, Jellybean, Marshmallow и Nougat. В цифровом электронном устройстве тоже может быть какая-то операционная система. Существуют различные типы операционных систем для разработки на основе микроконтроллеров, но здесь мы обсудим именно операционные систему реального времени (ОСРВ или RTOS).

ОСРВ – это операционная система, мозг системы реального времени и ее незамедлительная реакция на входные данные. В ОСРВ задание будет выполнено к указанному времени, и она реагирует предсказуемым образом на непредсказуемые события. Структура ОСРВ показана ниже.

Виды операционных систем реального времени

Существует три различных типа ОСРВ, это:

  1. Программная (soft) операционная система реального времени
  2. Аппаратная (hard) операционная система реального времени
  3. Фирменная (firm) операционная система реального времени

Программная операционная система реального времени

Программная (иногда называют «мягкая») операционная система реального времени имеет определенные сроки, которые могут быть пропущены, и они начнут действоват в момент времени t = 0+. «Мягкая» операционная система реального времени является типом ОС и не содержит ограничений по экстремальным правилам. Критическое время этой операционной системы откладывается до некоторой степени. Примерами приложений этой операционной системы являются цифровая камера, мобильные телефоны и онлайн-данные и т. д.

Аппаратная операционная система реального времени

Это также тип ОСРВ, и каждое ее действие выполняется в срок. Предустановленные сроки будут реагировать в момент времени t = 0. Некоторыми приложениями этой операционной системы являются управление подушками безопасности в автомобилях, антиблокировочная система тормозов, система управления двигателем и т. д.

Фирменная операционная система реального времени

Фирменная ОСРВ имеет определенные временные ограничения, они не являются строгими, и это может вызвать нежелательные эффекты. Примеры приложений этой операционной системы – визуальный осмотр в промышленной автоматизации.

Принцип работы операционной системы реального времени

Существуют различные типы основных функций ОСРВ:

  1. Планировщик на основе приоритетов
  2. Процедура прерывания системного тактирования
  3. Детерминированное поведение
  4. Синхронизация и обмен сообщениями
  5. Служба ОСРВ

Планировщик на основе приоритетов

В планировщике на основе приоритетов большая часть ОСРВ имеет от 32 до 256 возможных приоритетов для отдельных задач или процессов. Этот планировщик запустит процесс с наивысшим приоритетом. Если задача выполняется на ЦП, то выполняется следующая задача с наивысшим приоритетом, которая продолжает процессы. В системе процесс с наивысшим приоритетом будет иметь процессор.

Есть три состояния задач или процессов, которые готовы к выполнению или другое заблокировано, и описание каждого состояния приведено ниже.

Готов к запуску (Ready to Run). Говорят, что готовность к запуску наступает тогда, когда у процесса есть все ресурсы для запуска, но он не должен находиться в рабочем состоянии.

Запущен (Running). Если задача выполняется, то говорят, что она запущена.

Заблокирован (Blocked). В этом состоянии, если у процесса недостаточно ресурсов для запуска, он переводится в заблокированное состояние.

Процедура прерывания системного тактирования

Для выполнения чувствительной ко времени операции ОСРВ предоставит определенное системное тактирование. Если, например, такт 1 мс, то вы должны выполнить задачу за 50 мс. Обычно за этим следует API, который говорит: «Через 50 мс разбудите меня». Следовательно, задача будет в спящем режиме, пока ОСРВ не проснется. Тем не менее, пробуждение не гарантирует, что оно будет работать точно в это время, это зависит от приоритета, и если в данный момент работает более высокий приоритет, то данная задача будет отложена.

Детерминированное поведение

ОСРВ обеспечивает последовательное выполнение и 10 и 100 задач, это не имеет никакого значения для переключения контекста, она определяет следующую задачу с наивысшим приоритетом. В простейшей детерминистической области ОСРВ – это обработка прерываний, когда линия прерывания сигнализирует о задачах, ОСРВ немедленно выполняет действие правильной процедуры обработки прерываний, и прерывание обрабатывается без какой-либо задержки.

Службы ОСРВ

Наиболее важной частью операционной системы является ядро. Для мониторинга оборудования задача должна быть облегчена, а ядро отвечает за распределение ресурсов. Если задача не может привлечь внимание процессора каждый раз, то ядро предоставляет некоторые другие сервисы или службы. Этими службами могут быть:

  • Службы синхронизации
  • Службы обработки прерываний
  • Службы управления устройствами
  • Службы управления памятью
  • Службы ввода-вывода

Преимущества ОСРВ

Когда задача выполняется, не возникает ошибок, потому что ОСРВ не содержит ошибок. Распределение памяти – лучший тип для управления в этом виде системы. В этом виде системы время сдвига очень мало. Из-за небольшого размера ОСРВ используется во встраиваемых системах, такие как системы для транспорта и т.п.

Операционные системы реального времени (ОСРВ)

Назначение ОСРВ

Операционные системы реального времени ОСРВ ( 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 является мощным средством реализации целевых систем, рабо­тающих в условиях жестких ограничений на объем используемой памяти и время отклика на внешние события.

Операционные системы реального времени

Структура типичной программы предполагает, что все задачи разделяют единое пространство памяти и каждая из них, если понадобится, может иметь доступ к любым ресурсам процессора. Такое ее устройство обладает рядом недостатков, особенно существенных на этапе разработки и отладки приложения. Из них главная проблема – это невозможность избавится от тесной взаимосвязи всех элементов программы. С ростом объема исполняемого кода становится все труднее контролировать влияние разных параметров на логику работы. Любая малозаметная ошибка может привести к полной неработоспособности всей программы или, что еще хуже, к различным дефектам работы уже в процессе эксплуатации изделия. Таких неприятностей можно избежать, если использовать операционную систему с переключением задач или операционную систему реального времени (ОСРВ).

Принцип действия ОСРВ


Рис.1 Порядок выполнения задач
а — программа с обыкновенной структурой
б — программа с использованием ОСРВ

Читайте также  Жучки, передатчики и приемники: основные термины

По своей сути ОСРВ – это программа, которая организует работу процессора таким образом, что все выполняемые им задачи оказываются разделенными во времени и выполняются каждая в своем собственном адресном пространстве. На рис.1 наглядно показана разница между ходом выполнения обычной программы(а) и той, которая использует ОСРВ(б). В первом случае все задачи выполняются последовательно. Пока одна из них не будет выполнена до конца, другая не начнется. Естественно, что любая программная ошибка, скажется на работоспособности всего приложения, а “зависание” на каком-либо этапе вообще приведет к полной остановке. В ОСРВ все совсем по-другому. Здесь каждая задача получает для своего выполнения лишь отведенный ей временной интервала (квант времени). По истечению этого временного промежутка работа текущей задачи приостанавливается и процессор переходит к выполнению следующей в списке задачи и т.д. Таким образом, появляется возможность не только полностью контролировать время выполнения каждой задачи (вплоть до ее остановки), но и вести программный контроль над ошибками. К тому же во время разработки можно будет применить модульный подход, когда отдельные участки программы тестируются, независимо друг от друга.

Механизм реализации ОСРВ с ядром AVR проиллюстрирован выше. Это листинг программы с переключением двух задач. Первая из них изменяет состояние линии 0 порта ввода-вывода B; вторая делает то же самое с линией 1 порта B, но с удвоенной частотой. Период следования импульсов определяет чикл задержки в теле каждой задачи.

Итак, необходимо добиться попеременного выполнения двух задач. Но в нашем случае это невозможно сделать простыми средствами. Сразу после инициализации процессор войдет в цикл задачи 1 (начинается с метки task1 по адресу 0x0100) и будет там оставаться до самого окончания работы. В теле цикла нет инструкций переходов и вызовов подпрограмм. Именно поэтому в структуре программы задействован еще и таймер-счетчик 0, который при переполнении циклически генерирует прерывания (коэффициент деления предделителя выбран произвольно). На обработчик прерывания (service_T0OVER по адресу 0x0300) как раз и возложена функция переключения задач.

Рассмотрим поэтапно, как это происходит. По прошествии промежутка времени, равного периоду переполнения таймера, произойдет первое прерывание (глобальное прерывание и прерывание от таймера 0, предварительно должны быть разрешены). Допустим, такое случится в точке задачи 1, где содержимое программного счетчика 0x0104, а указателя стека 0x045F. В этот момент значение адреса возврата (PC+1 = 0x0105), аппаратно будет сохранено в стеке. Вершина стека при этом переместится на две позиции вниз (SP-2 = 0x045D) и управление будет передано обработчику прерывания. В конце обработчика, как и при выходе из любой подпрограммы, командой reti адрес возврата будет восстановлен и основная программа продолжит свое выполнение. Но так как стек у AVR, а следовательно и адрес возврата, расположены в общедоступной памяти данных и легко могут быть модифицированы, то появляется возможность осуществить управляемый переход. В начале обработчика service_T0OVER старший байт адреса возврата 0x01 будет находиться по адресу 0x045F, а младший 0x05 по адресу 0x045E. Если перед выходом подменить адрес возврата, например, на 0x0200, что в самом начале и происходит, то программа продолжит свое выполнение с метки task2 т.е. окажется в цикле выполнения задачи 2. Предварительно адрес возврата, конечно, необходимо запомнить. Иначе не удастся вернуться в первоначальное место. Адрес возврата первой задачи сохраняется в ячейках SRAM adr1h:adr1l, адрес второй в adr2h:adr2l. Номер задачи находится в регистре tsknum. Когда наступит второе прерывание (пусть это случится в месте с PC = 0x0205, SP = 0x045F), то, после сохранения в adr2h:adr2l, адрес возврата (PC+1 = 0x0206) будет подменен содержимым adr1h:adr1l = 0x0105 и после выхода программа продолжит выполнение задачи 1 с того места где она была прервана и т.д.

Таким образом, получается, что ОСРВ представляет из себя ни что иное, как обработчик прерываний от таймера, логика работы которого подобна рассмотренному выше примеру. В нашем случае ОСРВ получилась очень простой, но на практике от нее потребуется намного большее действий, чем просто переключение двух задач. Одной из ее функций, как уже говорилось выше, должна быть возможность делить процессорное время в любых соотношениях между всеми задачами. Для этого операционная система может изменять значение счетного регистра TCNT0, регулируя тем самым временной интервал до очередного переполнения.

Операционные системы реального времени для начинающих

Привет, Хабр!
Сегодня я расскажу о такой интересной штуке как операционная система реального времени(ОСРВ). Не уверен, что это будет интересно для бывалых программистов, но, думаю, новичкам понравится.

Что такое ОСРВ?

Зачем она нам нужна?

На то есть довольно много причин.
Во-первых ОСРВ поддерживает многозадачность, приоритеты процессов семафоры и многое другое.
Во-вторых она очень легкая и почти не требует ресурсов.
В-третьих все вышесказанное мы можем получить практически на любом железе (например, FreeRTOS запускается даже на 8-битных AtMega).
Ну и в-четвертых: просто поиграться и получить удовольствие.

Обзор 3 известных ОСРВ.

Внимание: дальше идет мое личное мнение.

FreeRTOS

Одна из самых популярных ОСРВ на сегодняшний день. Портирована на огромное количество железа. Оффициальный сайт.

Плюсы
Минусы

1)Довольно-таки сложный процесс портирования на новое железо.

Вывод: Это действительно профессиональная ОСРВ с хорошей документацией. Будет хороша для новичка, если на его железо уже есть порт.

KeilRTX

До последнего времени эта ОСРВ была коммерческой, но недавно стала открытой. Работает только на архитектуре arm. Оффициальный сайт.

Плюсы

1)Бесплатная
2)Легко портируется на новое железо( в пределах архитектуры arm).
3) Есть различные библиотеки: графика, интернет и другое.

Минусы

1)Работать на в Keil с ней практически нереально
2) Немного урезанный функционал
3) Поддерживается только arm.
4)(на личном опыте) Проигрывает многим ОСРВ по скорости.
Вывод: идеально подойдет для новичка и мелких проектов.

uc/os

Мощная коммерческая ОСРВ. Сайт.

Плюсы
Минусы

1)Коммерческая.
2) Сложна в использовании.

Вывод: назвать ее ОСРВ для новичка можно с большой натяжкой.

Другие интересные ОСРВ

RTLinux ОСРВ на основе обычного Линукса.
QNX ОСРВ на основе Unix.

Особенности разработки с использованием ОСРВ

Ну во-первых надо понять следующее: ОСРВ- это не Windows. Его нельзя установить. Эта система просто компилируется с Вашей программой.
При написании программ с ОСРВ не используются функции в обычном их понимании. Вместо функций используются процессы( или таски).Отличие в том что процессы, в отличии от функций, являются бесконечными циклами и никогда не заканчиваются(если только кто-то или он сам его не убъет — то есть выгрузит из памяти).
Если включено несколько процессов, то ОСРВ переключает их, выдавая машинное время и ресурсы по очереди. Вот тут то и возникает понятия приоритета процесса- если двум процессам единовременно нужно машинное время, то ОСРВ даст его тому, у кого приоритет больше.
В ОСРВ есть специальные функции задержки- чтобы время зря не пропадало на время задержки одного процесса выполняется второй.
Теперь поговорим о такой вещи как семафор- эта такая штука, которая управляет доступом процесса к ресурсам приложения. Для каждого ресурса есть маркер — когда процессу нужен ресурс — он его забирает и пользуется данным ресурсом. Если маркера нет, то процессу придется ждать, пока его вернут. Приведу пример: разные процессы отправляют информацию по одному UART. Если бы не было семафора, то они бы отправляли байты по очереди и получилась бы неразбериха. А так первый процесс взял маркер на UART отправил сообщение и отдал второму( и так — до бесконечности).

Дополнительные библиотеки ОСРВ.

Часто ОСРВ предлагают различные библиотеки для работы, например, с графикой, интернетом и т.д. Они действительно удобны и не стоит брезгать их использовать. Однако, помните, что без ОСРВ, для которой они написаны, они работать не будут.
Вот примеры:
Для RTX графика интернет Файловая система

Во второй( и, наверное, последней ) части мы поговорим о мьютексах, буферах сообщений и попрактикуемся в их использовании.

ОСРВ
Операционная система реального времени

Ключевой элемент системного ПО, обеспечивающий функционирование прикладного ПО и взаимодействие с аппаратурой вычислительной системы в режиме реального времени.

Содержание

Нормативное регулирование в части ПО

  • Требованиями Федерального закона №188-ФЗ от 29.06.2015г. и постановления Правительства РФ №1236 от 16.11.2015г. установлен запрет на допуск программного обеспечения, происходящего из иностранных государств, для целей осуществления закупок для обеспечения государственных и муниципальных нужд, а на МинкомсвязиРоссии возложено ведение единого реестра российских программ для ЭВМ.
  • Экспертным советом по программному обеспечению при Минкомсвязи принято решение об отказе во включении в реестр ПО и недопущении использования программного обеспечения, базирующегося на программных продуктах иностранного происхождения (Протокол №467пр от 12.11.18г.).
  • Состоявшееся 05.03.2019г. заседание НТС ВПК РФ отметило, что применение ПО, происходящего из иностранных государств, в особо ответственных системах и комплексах, в том числе в образцах ВиВТ, противоречит действующим законам, и рекомендовало МО РФ ужесточить контроль с целью недопущения применения ПО, основанного на зарубежном программном коде.
Читайте также  Пайка медной проводки

Требования по защите информации

  • Современные требования по защите информации, предъявляемые к авиационным комплексам требуют сертификации всего ПО, обрабатывающего охраняемые сведения, включая операционные системы, на предмет отсутствия недекларируемых возможностей в соответствии с положениями Приказа №058 МО РФ 1996г.
  • К ОС РВ дополнительно предъявляются требования к сертификации в качестве средства защиты информации (руководящий документ требования безопасности информации к операционным системам и семейство профилей защиты ИТ.ОС.Вх, разработанные ФСТЭК России)

ОСРВ-системы (мировой рынок)

  • Мировыми лидерами в области разработки ОСРВ являются компании WindRiver (США, ОСРВ VxWorks RTOS ), Blackberry/QSS (Канада, ОСРВ QNX Neutrino), SysGo (Германия, ОСРВ PikeOS).
  • Существует свободно распространяемая реализация ОСРВ FreeRTOS, распространяемая по лицензии MIT, однако ее тех.поддержка осуществляется компанией Wittenstein (Великобритания) под брендом SafeRTOS.

ОСРВ-системы (рынок России)

  • В Российской Федерации практически отсутствуют отечественные коммерчески доступные или свободно распространяемые операционные системы, предназначенные для применения в ответственных встраиваемых вычислительных системах.
  • Имеющиеся решения, как правило, являются проприетарными продуктами компаний, применяющимися либо в рамках одного предприятия (ЭОС, RealMK‒32), либо в рамках одной архитектуры (ОС РВ Багет 2.0/3.0/4.0, функционирующие на процессорных модулях разработки НИИСИ РАН (семейство Комдив))
  • Решения, изначально создаваемые для широкого применения, в основном, находятся в состоянии разработки в рамках ОКР или НИР (JetOS, МОСОП/Стрикс).
  • Ввиду отсутствия доступных отечественных ОСРВ, до известных событий, в изделиях ВВСТ широко использовались импортные ОСРВ, а после введения санкций потребовалось искать пути по выходу из сложившейся ситуации.
  • Яркий пример – СВД ЗОСРВ Нейтрино и «Нейтрино-Э» (ООО «СВД Встраиваемые системы»), являющиеся «клоном» ОСРВ «QNX Neutrino» канадской разработки.
  • Отсутствует подтверждение того, что данные ОСРВ могут использоваться без ограничений и компания QSS не имеет права запретить их использование, в том числе по причине санкционной политики.
  • Отечественный инструментарий для разработки прикладных программ для ОС «Нейтрино-Э» отсутствует. Разработка (за исключением компилятора, поставляемого АО «МЦСТ») и отладка ПО должны осуществляться с использованием комплекса QNX Momentics. Данный инструментарий является исключительной собственностью канадской компании QSS, поставляется в закрытом виде (без исходных кодов).
  • Заявки ООО «СВД Встраиваемые системы» на включение ОСРВ «Нейтрино» в реестр отечественного ПО дважды были отклонены (приказы Министерства цифрового развития, связи и массовых коммуникаций №664 от 30.11.2018г. и №167 от 14.04.2019г.).

Операционные системы реального времени (ОСРВ): понятие и виды

Вы будете перенаправлены на Автор24

Операционные системы реального времени (ОСРВ) — это вид операционных систем, которые предназначены главным образом для предоставления требуемого инструментального комплекта для осуществления проектов, формирования и обеспечения работы систем реального времени при заданном аппаратном обеспечении.

Введение

Сегодня существует множество задач, которые требуют управлять сложным оборудованием или каким-либо процессом при посредстве электронных вычислительных машин. И следует заметить, что все действия и явления в таком процессе осуществляются, тогда, когда они случаются. Компьютерное же оборудование способно выполнить только определённое количество операций за конечный временной интервал. Появляется проблема, которая заключается в обеспечении соответствия быстроты анализа ситуации компьютером и выдачи необходимого управляющего сигнала, который стал бы адекватным как раз в текущий момент времени. Такие проблемы связаны с наличием быстро меняющихся ситуаций в производственных процессах. Естественно, скорость распространения сигналов в природе является конечной величиной, и скорость функционирования систем тоже не бесконечна, по этой причине ждать от управляющего компьютера мгновенной реакции, вызванной каким-то внешним воздействием, в принципе нереально.

Готовые работы на аналогичную тему

  • Курсовая работа Операционные системы реального времени (ОСРВ): понятие и виды 480 руб.
  • Реферат Операционные системы реального времени (ОСРВ): понятие и виды 260 руб.
  • Контрольная работа Операционные системы реального времени (ОСРВ): понятие и виды 210 руб.

Какой бы мощностью не обладал компьютер, ему всё равно необходимо время, хоть и незначительное, для выполнения требуемого набора команд. То есть, временной интервал реагирования на произошедшее действие всегда превышает нуль. Фактически существующие проблемы предполагают определённую задержку операций, и если система обладает временем реакции меньшим этой граничной задержки, то она определяется как система реального времени. В реальности разные процессы имеют различное быстродействие, и какая-нибудь система для одного процесса сможет уложиться в указанные рамки, а для другого нет. Это означает, что систему нужно рассматривать относительно фактической решаемой проблемы. К примеру, для построения зависимости среднесуточной температуры окружающего воздушного пространства от дня недели можно использовать как систему реального времени фактически любая компьютерная система, имеющая какое угодно программное обеспечение. Если же необходимо управлять приземлением воздушного судна, где временные интервалы нужно измерять в миллисекундах, то необходимо очень тщательно осуществлять выбор компьютерного оборудования и программных приложений.

Базой любого управляющего компьютерного оборудования, и в том числе функционирующего в реальном времени, является его операционная система.

Под операционной системой понимается комплект программных приложений, обеспечивающий использование вычислительной системы и управление процессами, которые используют данные ресурсные возможности при осуществлении вычислений.

Под ресурсом понимается каждый элемент, логической или физической природы, который входит в состав вычислительной системы.

Базовыми ресурсами считаются процессорный модуль, модуль оперативной памяти и различные периферийные модули.

Под управлением ресурсными возможностями понимается реализация более лёгкого доступа к ним, выполнение их распределения среди процессов.

Операционные системы реального времени (ОСРВ)

Операционные системы реального времени (ОСРВ) служат для создания доступа к ресурсным возможностям, обладающим критической зависимостью от времени, систем реального времени. Главным предназначением таких систем считается своевременное осуществление работы с информационными данными.

Базовым параметром ОСРВ является гарантия предсказуемости или определённости поведения системы при самых плохих внешних параметрах, что сильно разнится с требованием максимального быстродействия универсальной операционной системы. Нормальная ОСРВ обладает предсказуемостью функционирования при любой загрузке

Системы реального времени делятся на жёсткие и мягкие. В жёстких системах при отсутствии возможности реагировать на какие-то действия в требуемое время возникают отказы в работе и остановка реализации требуемой задачи.

Для мягких систем нет однозначного определения, но мягкими называют системы, которые не попадают в категорию жёстких систем. У мягких систем допустимо отставание в решении текущей задачи, и это не ведёт к прекращению работы системы в общем.

В системах реального времени существует понятие директивного срока (в оригинале deadline). В течение этого периода времени задачу необходимо безусловно выполнить. В мягких системах это условие является только желательным. Такой директивный срок применяется проектировщиками задач для определения приоритетности задачи при её пуске, и при отборе задачи на исполнение.

Системой реального времени считается тип операционной системы, главным предназначением которой является предоставить требуемый функциональный комплект, который обеспечивает реализацию средствами программирования систем реального времени на имеющемся аппаратном обеспечении.

Специалисты определили следующие обязательные параметры ОСРВ:

  1. Система должна обладать возможностью многозадачности и допускать вытеснения.
  2. Система должна иметь приоритетные уровни для разных потоков.
  3. У системы должны быть в наличии предсказуемые синхронизирующие средства.
  4. Система обязана иметь наследственный механизм приоритетов.
  5. Система должна иметь предсказуемое поведение. Это значит, что при любом развитии событий и уровнях загрузки системных мощностей известно самое большое время реакции.

ОСРВ обязаны проявить реакцию на разные виды событий, происходящих как внутри системы, так и снаружи. Следует заметить, что если система принадлежит к типу ОСРВ, то это совсем не гарантия её высокого быстродействия. Ясно, что скорость работы ОСРВ обязана превышать скоростные параметры управляемых процессов.