Операционная система реального времени против обычной: как выбрать RTOS

Встроенные системы: системы реального времени для новых поколений

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

Но сегодня этого недостаточно. Большую роль играют безопасность, надежность и качество передачи информации. Например, рассмотрим опыт поставщика систем промышленного управления Siemens Energy and Automation (SEA), город Норкросс (Norcross), Джорджия. Компании потребовалось установить компьютер в заводском цеху. Как рассказал Эрик Кацзор (Eric Kaczor), менеджер по маркетингу инженерного программного обеспечения SEA, группа быстро определила, что стандартный офисный ПК для поставленной цели не подходит. Чтобы избавиться от сбоев и других неполадок, было решено воспользоваться ОСРВ.

Однако на выбор ОСРВ повлияла необходимость сохранить возможность работы с офисными приложениями. „При выборе операционной системы реального времени мы искали среду, в которую можно будет встроить работу с офисными приложениями»,- говорит Кацзор.

Когда необходимо использовать RTOS?

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

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

Отличительная особенность RTOS — в том, что она должна быть многопоточной, работать на опережение и обеспечивать приоритетность потока. RTOS включает систему наследования по приоритету, предсказуемо поддерживает синхронизацию потоков и имеет механизм предотвращения инверсии приоритетов. Инверсия приоритетов – это ситуация, при которой менее значимая задача использует ресурсы более важной задачи, откладывая ее решение. Кроме того, одним из основных свойств RTOS является предсказуемость задержки при обработке прерывания.

Разработчики RTOS должны детально информировать пользователей об уровнях системных прерываний, системных вызовах и таймингах. Им необходимо знать максимальное время, в течение которого ОС и драйверы маскируют прерывания. Задержка прерывания, то есть время между его возникновением и запуском инициируемой прерыванием задачи, должна быть предсказуема и соответствовать требованиям приложения. В качестве примеров RTOS можно привести VxWorks, QNX, Win CE, pSOS, Nucleus ® RTOS, FreeRTOS™, Zephyr™ Project.

Компоненты первой необходимости

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

«Большинству многопоточных приложений требуется средства общения различных задач: очереди, семафоры, мьютексы. Последнее особенно необходимо для приложений, в которых нельзя допустить инверсии приоритета, т.е. недопустима ситуация, когда задача с низким приоритетом препятствует работе остальных, жизненно важных для системы функций», — говорит Дей.

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

В задачах автоматизации приложений и приборов существуют свои средства и протоколы связи. Иногда поставленные требования уже выполняются в других стандартах, например IPv4 и IPv6, и специализированный протокол не требуется. Однако они всегда полезны, а иногда даже необходимы. К таким специализированным протоколам относятся CAN (асинхронная последовательная коммуникационная шина), OPC (OLE для управления процессами), DCOM (объектная модель распределённых компонент), промышленная беспроводная локальная сеть, Profinet или другой промышленный Ethernet протокол и сетевые службы под управлением XML и SOAP (это основа набора сетевых служб, обеспечивающих базовую функциональность для обмена сообщениями, на ней основаны следующие абстрактные уровни). Также появляются новые технологии и стандарты, например, ZigBee в области беспроводной связи, все они могут входить в комплект средств ОСРВ.

У Марка Гамильтона (Mark Hamilton), разработчика в компании-производителе связующего ПО Real-Time Innovations (г. Санта-Клара, Калифорния) накоплен большой опыт по созданию и внедрению систем реального времени для информационных и военных задач. Огромный список протоколов и других функций — это, конечно, здорово, но он предупреждает, что у каждой ОСРВ есть свой предел.

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

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

«Связующее программное обеспечение гарантирует очень эффективную передачу данных между различными процессорами системы, так, что вам не нужно беспокоиться и программировать сетевое общение» — утверждает Гамильтон.

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

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

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

Разумеется, отдельные модули должны быть очень небольшими, только в этом случае итоговая система получится достаточно компактной. Еще один метод решения проблемы ограниченных ресурсов — грамотный выбор языка программирования и компилятора. Ошибка может значительно сказаться на размере приложения. В Lab VIEW компании National Instruments, например, есть возможность разработать, интегрировать и повторно использовать существующий код, а потом загрузить разработанную функциональность реального времени на различные носители.

Как показывает взаимодействие между ОСРВ и приложениями, какие бы шаги не были предприняты для удовлетворения поставленных требований, всегда потребуется создание прослойки между ОСРВ, приложением, аппаратными и программными средствами. По образному выражению Тодда Брайена (Todd Brian), менеджера по маркетингу продукции Nucleus Kernals в корпорации-разработчике автоматизированного электронного оборудования Mentor Graphics (г. Вильсонвилль, Орегон). Разработчик операционной системы реального времени не изолирован на острове. Его работа направляется всеми окружающими, это необходимо для повышения производительности любой встроенной ОСРВ. «Требуются партнеры, продукция которых будет интегрирована в ОСРВ. В этом случае им не потребуется заботиться об интеграции», — утверждает Брайен.

От такого взаимодействия выиграют и производители ОСРВ, и ее пользователи, по этому критерию можно выбирать производителя ОСРВ. «Сложность разработки приборов растет такими темпами, что недостаточно просто предоставить программное обеспечение. Оно должно быть интегрировано в систему, пользователь не должен этим заниматься», — говорит Брайен.

Типы RTOS

Три типа систем RTOS:

Hard Real Time:

В Hard RTOS крайний срок обрабатывается очень строго, что означает, что данная задача должна начать выполняться в указанное запланированное время и должна быть выполнена в течение назначенного времени.

Пример: медицинская система интенсивной терапии, авиационные системы и т. Д.

Фирма в реальном времени:

Эти типы ОСРВ также должны соблюдать сроки. Однако несоблюдение сроков может не иметь большого влияния, но может привести к нежелательным последствиям, таким как значительное снижение качества продукта.

Пример: различные типы мультимедийных приложений.

Soft Real Time:

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

Курс повышения квалификации

  • Сейчас обучается 25 человек из 16 регионов

Больше, чем ПЛК

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

SEA воспользовалась ОСРВ RTX (компании Citrix г. Волтхем (Waltham), Массачусетс), установленной на промышленном компьютере Simatic Microbox 420. ОСРВ предоставляет гораздо больше возможностей, чем это кажется на первый взгляд. „Они смотрят на компьютер и считают, что это ПЛК…, не понимая, что ОСРВ — это гораздо больше, чем ПЛК»,-говорит Кацзор.

Одна из ключевых возможностей — это возможность и средства коммуникации. Поль Чен (Paul Chen), менеджер по линии продуктов VxWorks в компании-производителе ОСРВ Wind River Systems (г.Аламеда, Калифорния) отмечает, что взаимодействие с внешним миром — это необходимое требование для современной операционной системы реального времени. Система должна поддерживать такие общепринятые интерфейсы как USB, Ethernet и беспроводную связь. Пользователям также требуется внедрение таких стандартов как Internet нового поколения (IPv6), различные варианты беспроводного протокола 802.х MIPv4 и MIPv6 для мобильных приложений и средства обеспечения безопасности: IPsec и HTTPS.

Требования производителям ОСРВ диктуют пользователи. „Если операционная система реального времени не будет обладать нужной функциональностью, пользователям придется дописывать нужные компоненты самим»,-говорит Чен.

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

То же самое можно сказать и о вопросах безопасности и защиты информации. Они возникают в аэрокосмических, промышленных и медицинских приложениях, которые регулируются стандартами, начинающимися 3-х буквенными аббревиатурами: FAA DO-178B, IEC 61508 и FDA 510(k).

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

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

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

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

Появление чипов флэш-памяти достаточной емкости позволило промышленным системам отказаться от вращающихся дисков с их низким сроком службы и перейти на твердотельные носители. Фото предоставлено Siemens Energy and Automation.

Появление чипов флэш-памяти достаточной емкости позволило промышленным системам отказаться от вращающихся дисков с их низким сроком службы и перейти на твердотельные носители. Фото предоставлено Siemens Energy and Automation.

Роберт Дей (Robert Day), вице-президент по маркетингу компании Lynuxworks (Сан-Хосе, Калифорния) отмечает, что в современных многоядерных микропроцессорах существуют выделенные области памяти, и все участки разделены, как кирпичными стенами. Этим методом можно воспользоваться и в следующей системе: одна система реального времени является управляющей, она контролирует работу основной ОСРВ, находящейся в одной области памяти, а другие приложения работают в совершенно другой области.

Ден Мендер (Dan Mender), директор по развитию компании-производителя ОСРВ Green Hills Software Inc. (Санта-Барбара, Калифорния) отмечает, что такое разделение ядра системы кроме безопасности имеет и другие достоинства. По его словам «Тот же самый принцип выделения и защиты части системы от атак можно использовать, чтобы защитить программное обеспечение от ошибок в самой программе».

Примеры операционных систем и их характеристики

В целом операционная система реального времени имеют следующие характерные особенности:

  • Многозадачность.
  • Технологические потоки, которые могут быть приоритетом.
  • Достаточное количество уровней прерывания.

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

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

Однако, когда это требование «дать примеры операционных систем такого типа», — говорится упоминание о наиболее известных имен. Что входит в эту группу?

однозадачные операционные системы примеры

Функции операционной системы

Операционные системы

Если сильно упростить описание выполняемых операционной системой задач, то можно выделить две основные:

  1. Она управляет аппаратными и программными системными ресурсами. Если говорить о типичном настольном компьютере, то к этим ресурсам относятся в том числе: процессор, память, дисковое пространство. Если говорить о мобильном телефоне, то сюда же добавляются клавиатура (или сенсорный экран), адресная книга, система набора номеров, батарея и сетевое соединение
  2. Она обеспечивает стабильное и последовательное взаимодействие приложений с аппаратным обеспечением. Приложение может быть незнакомо с детальными характеристиками аппаратной части

Первая задача, управление аппаратными и программными ресурсами, крайне важна. Дело в том, что различные программы и методы ввода данных соперничают за внимание центрального процессора (ЦПУ, ЦП, CPU), о принципах работы которого мы уже писали. Им необходима память, пространство накопителя, а также полоса ввода и вывода. Операционная система играет роль хорошего наставника, устраивая все так, чтобы каждое приложение получило необходимые ему ресурсы, и при этом не вступило в противоречие с другими приложениями. Операционная система распределяет ограниченные ресурсы компьютера таким образом, чтобы результат для всех пользователей и всех приложений получился наилучшим. Разумеется, из возможных в данной конфигурации. Компьютер обладает вполне определенной производительностью процессора и объемом памяти, наращивание которой — как нам уже известно — не всегда ведет к росту производительности машины. Операционной системе предстоит наиболее выгодным образом распределять эти и другие ресурсы.

Вторая задача, обеспечение взаимодействия программной и аппаратной части, обретает особую важность с учетом того факта, что современные компьютеры открыты для внесения изменений в их конфигурацию. Средства интерфейса прикладных программ (application program interface, API) позволяют разработчику написать программу на одном компьютере и при этом почти не сомневаться в том, что она будет работать и на другом компьютере такого же типа. Даже в том случае, если объем памяти или емкость накопителя на двух машинах будут отличаться друг от друга.

Операционная система устраивает все так, чтобы приложение продолжало запускаться на данном компьютере даже после того, как будет модифицирована его аппаратная часть или произведены программные обновления. Дело в том, что именно операционная система, а не каждое конкретное приложение, следит за аппаратным обеспечением и распределением его ресурсов. Перед разработчиками операционных систем стоит непростая задача: сделать систему совместимой с оборудованием от тысяч предприятий, выпускающих компьютерные компоненты и периферийные устройства. Современная операционная система способна «узнать» тысячи различных принтеров, жестких дисков и специальных периферийных устройств. Более того, в каждом конкретном случае это оборудование будет сочетаться иным образом.

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

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

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

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

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

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

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector