Система реального времени

Содержание:

Выделение памяти

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

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

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

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

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

Документы, регламентирующие требования к ОСРВ

  • Стандарт DO-178 (Software Consideration in Airborne Systems and Equipment Certification) определяет требования к процессу разработки программного обеспечения и тщательности его проверки в зависимости от его уровня критичности. Уровень критичности ПО определяется на основе анализа серьезности последствий отказа в ПО. Всего предусмотрено пять уровней критичности ПО (от A до E).
  • MILS (Multiple Independent Levels of Secutiry) представляет собой специальный подход к проектированию ОС, препятствующий распространению ошибок прикладного программного обеспечения во время выполнения, а также упрощающий верификацию программ за счет модульности ПО. Все приложения помещаются в так называемые разделы (partitions). Разделы имеют выделенные ресурсы (область памяти, процессорное время в течение каждого цикла системы, доступ к каналам обмена и пр). Доступ к выделенным ресурсам гарантируется ОС, работающей в режиме супервизора. Таким образом, на одном процессорном модуле под управлением одной ОС может работать прикладное ПО разного уровня критичности — если сбой произойдет в менее критичном (и, соответственно, менее проверенном) ПО, это никак не повлияет на работу других разделов, так как попытки «узурпировать» чужие ресурсы будут пресечены операционной системой. Идеи MILS перекликаются с идеями ИМА и DO-178B .
  • Стандарт ARINC-653 (Avionics Application Software Standard Interface) специфицирует интерфейс прикладного программного обеспечения APEX, поддерживающий концепцию разделов в духе MILS. Данный интерфейс включает функции управления разделами, процессами, разделением времени, коммуникациями между разделами и внутри раздела, мониторинг состояния системы. Надо отметить, что стандарт ARINC-653 описывает общепризнанный подход к реализации идей MILS для ИМА, хотя могут быть и другие реализации. Авиационная ОСРВ, соответствующая ARINC-653 , имеет преимущества, так как данный стандарт хорошо известен и понятен международным сертифицирующим органам, поэтому на систему, построенную по этому стандарту, проще получить сертификат соответствия DO-178B .
  • Стандарт Reusable Software Components. В соответствии с DO-178B программное обеспечение той или иной системы авиационного применения проходит процедуру сертификации полностью, даже если оно использует модули (компоненты), которые уже были сертифицированы ранее в составе другой системы. Одной из последних инициатив FAA (Федеральное агентство по сертификации гражданской авиации, США) является определение критериев возможности многократного использования ПО без повторной сертификации. Компоненты, которые можно повторно не сертифицировать, называются RSC (Reusable Software Components). Чтобы получить сертификат на RSC, нужно затратить больше усилий, но затем RSC дает серьезную экономию.

Российские документы, определяющие требования к ПО (и в том числе к ОСРВ):

  • ГОСТ Р ИСО/МЭК 51904—2002 («ПО встроенных систем. Общие требования к разработке и документированию») — аналог DO-178B для военной авиации;
  • КТ-178А («Квалификационные требования часть 178А») — аналог DO-178B для гражданской авиации;
  • ГОСТ Р ИСО/МЭК 12207—99 («Информационная технология. Процессы жизненного цикла программных средств»).

Сравнение ОС РВ проводилось по 13 параметрам, которые учитывают технические критерии, удобство разработки и экономические параметры.

Литература

  • Jean J. Labrosse, et al. Chapter 8. DSP in Embedded Systems // Embedded Software. — Newnes, 2007. — 792 p. — ISBN 978-0-7506-8583-2.
  • Jack Ganssle and Michael Barr. Embedded systems dictionary. — CMP Books, 2003. — 293 p. — ISBN 1-57820-120-92.
  • Dimosthenis Kyriazis, Theodora Varvarigou, Kleopatra Konstanteli. Achieving Real-Time in Distributed Computing. — IGI Global, 2011. — 452 p. — ISBN 978-1-60960-827-9.
  • Rajib Mall. Real-Time Systems: Theory and Practice. — IGI Global, 2006. — 242 p. — ISBN 9788131700693.
  • Phillip A. Laplante, Seppo J. Ovaska. Real-Time Systems Design and Analysis: Tools for the Practitioner. — John Wiley & Sons, 2011. — 560 p. — ISBN 978-0-470-76864-8.
  • Стивен Баррет, Даниэль Пак. Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68НС12 / НСS12 с применением языка С. — ДМК-Пресс, 2014. — 640 p. — ISBN 978-5-457-38723-2.

Радиоактивный распад.

Хорошо известно, что атомы некоторых, т.н. радиоактивных, элементов самопроизвольно распадаются. В качестве показателя скорости распада используется «период полураспада» – промежуток времени, за который число радиоактивных атомов данного вещества уменьшается вдвое. Радиоактивный распад также может служить мерой времени – для этого достаточно подсчитать, какая часть от общего числа атомов подверглась распаду. По содержанию радиоактивных изотопов урана оценивается возраст горных пород в пределах нескольких миллиардов лет. Большое значение имеет радиоактивный изотоп углерода 14С, образующийся под воздействием космического излучения. По содержанию этого изотопа, имеющего период полураспада 5568 лет, можно датировать образцы возрастом несколько более 10 тыс. лет. В частности, его используют для определения возраста объектов, связанных с деятельностью человека, как в историческое, так и в доисторическое время.

Первичные часы.

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

Часовая станция (первичные часы) – это основа системы единого времени. Она
выполняет следующие функции:

— Формирует точное время, включая минуты, секунды, дату, часовой пояс и
т.д.

— Отвечает за работу вторичных часов, учитывая их месторасположение,
механизм, возможные неисправности.

— Корректирует точное время, в зависимости от получаемых сигналов,
например переводит время с летнего на зимнее и обратно.

— В случае возникающих перебоев в работе восстанавливает точные показания
времени, например при отключении электропитания.

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

— Предназначенные для небольших объектов (до 2-х вторичных шлейфов, что
позволяет управлять вторичными часами количеством от 40 до 70 шт.).

— Для средних, а также крупных объектов, где существует необходимость
установить много вторичных часов (более 4 вторичных шлейфов).

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

Стабильность временных параметров

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

Исходя из данных журнала Dedicated System, QNX опережает по этому критерию VxWorks как по разбросу характеристик в серии однотипных тестов (отношение максимума времени к среднему значению существенно меньше), так и с ростом нагрузки (время переключения потока при увеличении числа потоков 2…128 ед. у QNX выросло только в 1,65 раза, тогда как у VxWorks — в 2,24 раза).

По данным, полученным в компании РТСофт, известно, что LynxOS имеет приблизительно те же характеристики, что VxWorks.

Соответствие авиационным стандартам

В зарубежной практике ПО для систем авионики должно иметь сертификат соответствия стандарту DO-178B . Если ПО разных уровней критичности выполняется на одном процессорном модуле, то применяемая ОСРВ должна поддерживать концепцию разделов. (Иначе доказать нераспространение ошибки практически невозможно). Как уже говорилось, лучше, если интерфейс программирования ОСРВ соответствует стандарту ARINC-653 , так как стандарт хорошо известен зарубежным сертификационным органам.

LynxOS в части соответствия стандартам является лидером. Она поддерживает ARINC-653 , существует достаточно много примеров систем, сертифицированных по DO-178B , построенных на ее основе. Ключевым моментом является то, что компания LynuxWorks предлагает набор RSC (правда, авторам статьи ничего не известно о цене).

VxWorks соответствует стандарту ARINC-653 , и системы, построенные на ее основе, могут быть сертифицированы по DO-178B (существует большое количество примеров).

QNX не соответствует ARINC-653 , и пока не существует систем на их основе, сертифицированных по DO-178B .

Надо отметить, что QNX-системы принципиально могут использоваться для построения ИМА, потому что QNX поддерживает свой метод обеспечения концепции разделов, который является весьма хорошей альтернативой ARINC-653 и, кроме того, позволяет экономить процессорное время.

В части аналогичных российских стандартов для военной авиации (ГОСТ Р ИСО/МЭК 51904—2002) нет еще ни одного примера сертифицированной системы, хотя принципиально на основе любой из рассматриваемых ОС можно такую систему разработать. Для ОС РВ QNX в настоящее время ведется работа по подготовке основных модулей ОС к сертификации.

Открытость исходных кодов

Открытая ОС РВ имеет по крайней мере три преимущества:

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

С сентября 2007 года компания QSS открыла исходные коды ядра QNX (включая пакет сегментирования Adaptive Partitioning, пакет высокой готовности High Availability). Немногим позже были открыты исходные коды сетевой подсистемы. В настоящее время на официальном сайте доступна для скачивания бета-версия 6.4.0.

Надо отметить, что на сегодняшний день не все модули QNX открыты (например, нет кодов для графической и файловой систем), и лицензия налагает ограничение на использование «исходников»: только для некоммерческого применения. Тем не менее, пользователь QNX получает указанные выше преимущества бесплатно.

Исходные коды LynxOS и VxWorks доступны в продаже. Цена на такой продукт договорная.

Разделение времени (Операционные Системы)

Разделе́ние вре́мени (англ. Time-sharing) — способ распределения вычислительных ресурсов между многими пользователями с помощью мультипрограммирования и многозадачности. Появление данной концепции в начале 1960-х годов и активное развитие в 1970-е привело к значительному технологическому прорыву в истории вычислительной техники.

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

Системы жёсткого и мягкого реального времени

Операционные системы реального времени иногда делят на два типа — системы жёсткого реального времени и системы мягкого реального времени.

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

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

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

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

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

Большинство программного обеспечения ориентировано на «мягкое» реальное время. Для подобных систем характерно:

  • гарантированное время реакции на внешние события (прерывания от оборудования);
  • жёсткая подсистема планирования процессов (высокоприоритетные задачи не должны вытесняться низкоприоритетными, за некоторыми исключениями);
  • повышенные требования к времени реакции на внешние события или реактивности (задержка вызова обработчика прерывания не более десятков микросекунд, задержка при переключении задач не более сотен микросекунд).

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

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

Теория времени Митрофана Аксёнова

В конце XIX века русский философ Митрофан Аксёнов выдвинул теорию, предвосхитившую учение А. Эйнштейна и Г. Минковского о пространстве-времени. Теория, названная автором трансцендентально-кинетической теорией времени, была изложена им в четырёх трактатах, вышедших в период с 1896 по 1918 гг. По учению Аксёнова, мир протяжён не в трёх, а в четырёх измерениях, а время есть движение нашего «я» в четвёртом измерении.

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

Наше «я», движущееся в четвёртом измерении, Аксёнов называл «воспринимающим началом», сознанием или духом; его движение в четырёхмерном мире не является предметом нашего опыта и потому есть движение трансцендентальное. Вещи, данные нам в ощущениях, суть не реальные объекты, а лишь трёхмерные срезы, сечения или проекции подлинных четырёхмерных вещей, подобные тем теням на стене пещеры, о которых писал Платон. В подлинном, четырёхмерном мире нет ни возникновения, ни уничтожения, ни движения, ни изменения, но всё это — иллюзии, порождённые трансцендентальным движением нашего «я». Иллюзорны также понятия действия, причинности и свободы воли, порождённые перенесением на внешние объекты внутренних свойств нашего «я». В мире царит строжайший детерминизм, обусловленный геометрическим строением четырёхмерных объектов, а само движение нашего «я» подобно движению пассажира в несущемся по рельсам никем не управляемом поезде.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *