СТА 2/2010

64 СТА 2/2010 РАЗРАБОТКИ МАШИНОСТРОЕНИЕ www.cta.ru П РИМЕРЫ ЗАДАЧ В настоящее время мы используем всё больше электронных устройств, к работе которых предъявляются требо вания жёсткого реального времени. Это и медицинское оборудование, где время работы может определять дозу полученного облучения, и металлооб работка, где время движения рабочего органа станка определяет размеры по лученных деталей, и атомная энергети ка, где задержка при управлении реак тором приводит к изменению выраба тываемой мощности реактора, к пол ной остановке или даже к тепловому разрушению. Кроме того, постоянно появляются устройства для не столь ответственных применений, которые по своему наз начению способны сделать нашу жизнь более комфортной, но без сис тем реального времени они просто не могли бы работать. Кому нужен MP3 плеер, который периодически останав ливает проигрывание музыки? Понра вится ли сотовый телефон, который прекращает передачу сигнала на время переключения между базовыми стан циями? Конечно же, лучше, когда уст ройства работают стабильно. Удобство и стабильность работы со временных устройств во многом опре деляется тем, что они построены на ба зе операционных систем (ОС) реально го времени: внутренние механизмы их работы не влияют на скорость выход ного потока данных (музыка играет без задержек, на реактор сигнал управле ния передаётся с заданной частотой не зависимо от действий оператора и т.п.). Так давайте заглянем внутрь этих ОС, посмотрим, как они используются при проектировании устройств автоматиза ции на примере системы числового программного управления (СЧПУ). О ПРЕДЕЛЕНИЕ СИСТЕМЫ ЖЁСТКОГО РЕАЛЬНОГО ВРЕМЕНИ Для начала разберёмся, что же такое «реальное время». Этот термин часто встречается в литературе, но определе ние ему даётся редко. Причём он часто используется не для описания техни ческих особенностей ОС, а для марке тинговых целей. Таким образом, появи лось понятие системы «мягкого» реаль ного времени. В дальнейшем, рассуж дая об ОС реального времени, мы будем опираться на следующее определение, синтезированное из определений в [1]: ОС реального времени – это ОС, в ко торой успешность работы любой прог раммы зависит не только от её логичес кой правильности, но и от времени, за которое она получила этот результат. Если система не может удовлетворить временным ограничениям, должен быть зафиксирован сбой в её работе. Именно такие ОС часто называют системами жёсткого реального време ни. Их мы и будем рассматривать далее. Также, говоря об устройствах реаль ного времени, будем иметь в виду уст ройства, которые обеспечивают ре зультаты вычислений за фиксирован ный промежуток времени. Если ре зультат предоставлен слишком поздно (или слишком рано в некоторых систе мах), должен быть зафиксирован сбой. К ООПЕРАТИВНАЯ И ВЫТЕСНЯЮЩАЯ МНОГОЗАДАЧНОСТЬ Практически любое ядро многопо точной системы реального времени ра ботает по типовому алгоритму: перио дически вызывается планировщик – системная задача, которая определяет, какой из задач пользователя отдать следующий квант времени; затем уп равление передаётся задаче пользова теля, где и производится непосред ственно полезная работа; затем снова вызывается планировщик и т.д. Отли чаются ОС реального времени по вре мени переключения задач, набору сер висных возможностей и моменту, когда происходит переключение задач. Если передача управления от потока к пото ку может производиться ОС, говорят, что ОС работает в системе вытесняю щей многозадачности. Если же пере ключение задач возможно только пос ле вызова системной функции (одной из нескольких системных функций), имеет место кооперативная многоза дачность. В каком из режимов лучше использовать ОС, зависит в первую очередь от проектировщика системы. И у того и у другого режима есть свои плюсы и минусы. При использовании кооперативной многозадачности все потоки нужно разрабатывать таким об разом, чтобы они периодически пере давали управление планировщику сис темы, а зависимые от стабильности Алексей Марусов В статье рассматривается применение ОС реального времени On Time RTOS 32 при проектировании системы числового программного управления (СЧПУ). Основой для статьи послужил опыт ООО НПО «Рубикон Инновация», полученный в процессе разработки СЧПУ «Феникс». Разработка программно аппаратного комплекса на основе систем реального времени © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy