Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
В сентябре 2010 г. мониторинг нарушений свободы слова фонда «Адил соз» зафиксировал 84 сообщения. 40 из них дают информацию о прямых нарушениях прав ...полностью>>
'Документ'
Январь - 20Февраль - 03, 17Март - 03, 17, 31Апрель – 14 и 28Май – 12 и 26Июнь – 09 и 23 Июль – 07 и 21Август – 04 и 18,Сентябрь – 01, 15 и 29,Октябрь...полностью>>
'Рабочая программа'
Данная рабочая программа ориентирована на учащихся 7-х классов и составлена в соответствии с федеральным компонентом Государственный стандарт основно...полностью>>
'Учебно-методический комплекс'
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮГосударственное образовательное учреждение высшего профессио...полностью>>

Программно-технический комплекс Учебное пособие Новочеркасск юргту (нпи) 2010. Удк 519. 23 (075. 8) Ббк 22. 17я73

Главная > Учебное пособие
Сохрани ссылку в одной из сетей:

М
инистерство образования и науки Российской Федерации

Федеральное агентство по образованию

ЮЖНО – РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

(Новочеркасский политехнический институт)

А. А. Михайлов

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

Программно-технический комплекс

Учебное пособие

Новочеркасск

ЮРГТУ (НПИ)

2010

.

УДК 519.23 (075.8)

Б
БК 22.17я73

М69

Рецензенты: канд. техн. наук, доц. М. М. Гавриков

канд. техн. наук, доц. А. Г. Душенко

Михайлов А. А.

М69 Системы реального времени. Программно-технический комплекс: учеб. пособие/Юж. – Рос. гос. техн. ун-т. – Новочеркасск: ЮРГТУ, 2010. – 292 с.

ISBN

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

Предназначено для студентов технических вузов, где курс “Системы реального времени” входит в группу общеобразовательных дисциплин Государственного образовательного стандарта подготовки специалистов в рамках высшего профессионального образования.

УДК 519.23 (075.8)

ББК 22.17я73

ISBN Ó Южно-Российский государственный

технический университет, 2010

Ó Михайлов А.А., 2010

ВВЕДЕНИЕ

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

Рис.В.1. Схема взаимодействия программного обеспечения различных уровней автоматизации

ERP (Enterprise Resource Planning) – планирование ресурсов предприятия. Спектр задач, решаемых при помощи таких систем:

  • управление финансами;

  • управление закупками;

  • управление продажами;

  • управление персоналом;

  • внутренний учет.

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

Представители систем данного класса – всемирно известные SAP, Oracle, Great Plains, PeopleSoft, SunSystems, Scala, а на нашем рынке – «Галактика», «БЭСТ» и «1С:Предприятие».

MES (Manufacturing Execution System) – автоматизированная система управления производственными процессами – связующее звено между ERP-системами и непосредственно производством. Задачи, которые решаются при помощи MES-систем, это:

  • планирование и контроль загрузки производственного оборудования;

  • резервирование сырья и деталей, используемых в производстве;

  • планирование и контроль человеческих ресурсов, задействованных в производственном процессе;

  • контроль износа оборудования;

  • учет затрат энергии;

  • контроль качества готовой продукции;

  • анализ факторов, влияющих на качество;

  • расчет себестоимости изделий.

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

Российская компания AdAstrA выпускает MES-систему T-Factory 6, поддерживающую интеграцию со SCADA- и SoftLogic-системой Trace Mode 6.

SCADA (Supervisory Control And Data Acquisitio) – диспетчерский контроль и сбор данных. SCADA- системы используются при автоматизации технологических процессов. Задачи, решаемые системами данного класса, это:

  • сбор информации о параметрах технологических процессов;

  • хранение и предоставление пользователю оперативной и статистической информации о технологических процессах;

  • сигнализация о выходе параметров технологических процессов за установленные границы;

  • интерфейс пользователя для ручного управления технологическим процессом;

  • автоматическая генерация управляющих воздействий.

Наиболее известные системы данного класса – AdAstrA TraceMode, GE Fanuc iFix, Genesis, Citech.

ГЛАВА 1. ОСНОВНЫЕ ПРИНЦИПЫ ОРГАНИЗАЦИИ ОПЕРАЦИОННЫХ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ

1.1. Общие положения и определения

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

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

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

Рис. 1.1. Организация системы реального времени

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

Управляемая подсистема представлена прикладными задачами, которые используют оборудование, управляемое подсистемой контроля. Эта подсистема строится из большого количества процессоров, управляющими такими местными ресурсами, как память и устройства хранения, и доступ к локальной сети в реальном масштабе времени. Эти процессоры и ресурсы управляются системой программного обеспечения, образующей операционную систему реального масштаба времени (RTOSreal time operating system).

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

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

Есть много определений термина ОС РВ, иногда противоречащих друг другу. Самые распространённые из них:

  • ОС, в которой успешность работы любой программы зависит не только от её логической правильности, но и от времени, за которое она получила этот результат. Если система не может удовлетворить временным ограничениям, должен быть зафиксирован сбой в её работе;

  • стандарт POSIX 1003.1 даёт определение: «Реальное время в ОС – это способность ОС обеспечить требуемый уровень сервиса в определённый промежуток времени»;

  • ОС, реагирующая в предсказуемое время на непредсказуемое появление внешних событий;

  • интерактивные системы постоянной готовности;

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

Для подобных систем характерно:

  • гарантированное время реакции на внешние события (прерывания от оборудования);

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

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

Такими ОС являются QNX, VxWorks, Windows CE, BeOS.

Требования к ОС для обеспечения предсказуемости:

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

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

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

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

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

1.2. Отличие механизма современных ОСРВ

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

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

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

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

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

  4. Коренное отличие СРВ от систем общего назначения – четкое разграничение программных систем (среды) разработки и исполнения.

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

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

Кроме того, многие ОСРВ имеют и так называемые резидентные средства разработки, исполняющиеся в среде самой ОСРВ.

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

5. Межпроцессное взаимодействие. В традиционных ОСРВ для межпроцессного взаимодействия (IPCInter-Process communication) используется модель "разделяемой памяти" (share memory). Проблема обеспечения стабильности работы системы с IPC через разделяемую память вполне разрешима, однако в общем случае такая задача требует весьма аккуратного управления разработкой и сопровождением программного обеспечения и достаточно длительного периода выявления ошибок. Перечисляя недостатки межпроцессного взаимодействия через разделяемую память, следует упомянуть также о том, что данный метод плохо подходит для распределенных систем и не характеризуется высокой степенью совместимости с управлением памятью. Работоспособность системы с IPC через разделяемую память достижима и в этих случаях, однако есть способы лучше.

Рис.1.2. Два типа межпроцессного взаимодействия

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

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

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

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

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

8. Распределенные многопроцессорные системы. Большинство традиционных ОСРВ разрабатывались с прицелом на единственный центральный процессор, установленный на единственной плате. В наши дни все чаще требуется поддержка многопроцессорных систем, в том числе с поддержкой процессоров цифровой обработки сигналов (DSP-процессоры). В современной ОС OSE обработчик связей (link handler) позволяет распределять приложение по многочисленным центральным и/или DSP-процессорам, беря сообщение от одного процесса, работающего на одном процессоре, и вручая его другому процессу, исполняющемуся на другом центральном или DSP-процессоре.

Рис.1.3. Модель обработки ошибок в традиционной ОСРВ и в операционной системе OSE

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

Рассмотрим системный инструментарий современных ОСРВ.

Симуляторы ОСРВ. По принципу своей работы инструментальные средства Soft Kernel и Soft Environment, созданные компанией OSE, напоминают пакет, служащий буфером между ОС и тем или иным аппаратным модулем (BSPboard support package), только в данном случае в роли такого модуля выступает интерфейс 32-разрядных Windows-приложений (Win32 Api). Инструмент Soft Environment способен использовать функциональные возможности хост-машины и, с другой стороны, взаимодействовать с внешним миром. Запустив одновременно несколько инструментов Soft Kernel на одной хост-машине, можно создать модель сетевой или многопроцессорной среды и вести разработку соответствующего проекта.

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

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

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

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

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



Скачать документ

Похожие документы:

  1. Риалы VI международной научной конференции (2-3 марта 2006 г.) Белово 2006 ббк ч 214(2Рос-4Ке) 73я431 н 34

    Документ
    Н-34 Наука и образование: Материалы VI Международной научной конференции (2-3 марта 2006 г.): В 4 ч. / Кемеровский государственный университет. Беловский институт (филиал).

Другие похожие документы..