
- •Введение
- •Глава 1. Основные принципы организации операционных систем реального времени
- •1.1. Общие положения и определения
- •1.2. Отличие механизма современных осрв
- •1.3. Параметры осрв
- •1.4. Программное обеспечение многозадачности ос
- •1.5. Архитектура осрв. Классы осрв
- •1.6. Синхронизация задач
- •1.7. Базовые понятия программного обеспечения реального времени
- •1.8. Асинхронный обмен данными
- •1.9. Надежность систем реального времени
- •1.10. Планирование задач
- •1.11. Планирование периодических процессов
- •1.12. Взаимоблокировки
- •Контрольные вопросы
- •Глава 2. Типовые операционные системы реального времени
- •2.1. Обзор систем реального времени
- •2.2. Операционная система Windows nt
- •2.2.1. Ужесточение требований к ос 90-х годов
- •2.2.2. Операционные системы реального времени и Windows nt
- •2.2.3. Процессы и потоки nt
- •2.2.4. Пути расширения реального времени для nt
- •2.2.5. Обработка прерываний и исключений
- •2.2.6. Особенности системы ввода/вывода системы nt
- •2.2.7. Windows nt как операционная система реального времени
- •2.2.8. Расширения Windows nt
- •2.3. Операционная система qnx
- •2.3.1. Общие положения
- •2.3.2. Системная архитектура qnx
- •2.3.3. Qnx как сеть
- •2.3.5. Оконная система Photon microGui
- •2.3.6. Phocus 4 для создания встраиваемых scada
- •2.4. Операционные системы реального времени для встраеваемых систем
- •2.5. Ос рв для встраиваемых модулей от компании Microsoft
- •2.6. Функциональные потребности scada-системы
- •Контрольные вопросы
- •Глава 3. Общий анализ контроллеров
- •3.1. Аппаратное обеспечение
- •3.2. Программирование plc
- •3.3. Выбор контроллерных средств
- •3.4. Классификация современных контроллеров
- •3.5. Взаимодействие компонентов
- •3.6. Проектирование распределенных систем управления
- •3.7. Открытая модульная архитектура контроллеров
- •3.8. Архитектура производственной базы данных реального времени
- •3.9. Эволюция стандарта pci для жестких встраиваемых приложений
- •3.11. Одно- и многоуровневые системы диспетчерского контроля и управления
- •3.12. Технологии и протоколы передачи данных в промышленности: Industrial Ethernet
- •3.13. Обеспечение надежности асу тп с использованием резервированного кольца Turbo Ring
- •3.14. Анализ архитектур контроллеров с параллельной шиной
- •3.15. Повышенные требования к устойчивости функционирования
- •Контрольные вопросы
- •Глава 4. Примеры реализации типовых контроллеров
- •4.1. Промышленные контроллеры для автоматизации технологических процессов
- •4.2. Модули adam-8000 от компании Advantech9 и система программирования adam-winplc7
- •4.3. LabView Real-Time LabView реального времени
- •4.4. Встраиваемые системы и ос для них
- •4.5. Промышленный контроллер р-130isa
- •4.6. Совместное использование hmi и pac
- •4.7. Система Реального Времени cf-mntr
- •4.8. Экономичные контроллеры Pico
- •4.9. RapidIo: технология для приложений реального времени
- •4.10. Trace mode 6 и t-factory 6: обзор исполнительных модулей
- •4.11. Контроллер Crestron cp2e
- •4.12. Асу тп на базе контроллеров micro-pc
- •4.14. Itv ndc-f18 – универсальные контроллеры ndc-f18
- •4.15. Сетевой контроллер компании Lenel для систем контроля доступа
- •4.16. Сетевой контроллер реального времени
- •Контрольные вопросы
- •Глава 5. Мультимедийные системы реального времени
- •5.1. Требования реального времени в системах мультимедиа
- •5.2. Требования к архитектуре мультимедиа-систем
- •5.3. Объединение графического и мультимедийного ядра в систему Freescale
- •5.5. Scsa: архитектура для систем мультимедиа реального времени
- •Контрольные вопросы
- •Заключение
- •Рекомендуемый библиографический список
- •Оглавление
- •Глава 1. Основные принципы организации операционных систем реального времени 6
- •Глава 2. Типовые операционные системы реального времени 55
- •Глава 3. Общий анализ контроллеров 179
- •Глава 4. Примеры реализации типовых контроллеров 236
- •Глава 5. Мультимедийные системы реального времени 292
- •Системы реального времени Программно-технический комплекс
- •346428, Г. Новочеркасск, ул. Просвещения, 132
1.3. Параметры осрв
Если система общего назначения обычно воспринимается как готовый набор приложений/оборудования, то СРВ служит инструментом для создания конкретного аппаратно-программного комплекса реального времени, позволяющего регистрировать поток сообщений от сторонних систем, устройств и датчиков в предсказуемые интервалы времени. Комплекс должен успевать регистрировать и реагировать на событие в течение времени, критического для конкретного события (meet deadline). Величина критического времени для каждого события определяется собственно объектом, самим событием. Отсутствие должной реакции в предсказанное время считается ошибкой для системы. В связи со специфичностью решаемых задач, ОСРВ должна обладать определенными свойствами.
Время реакции системы это интервал времени от момента возникновения события на объекте до выполнения первой команды в программе обработки этого события. Время реакции СРВ включает две компоненты:
Время реакции системы на внешние события – время выполнения цепочки действий от события на объекте до генерации прерывания.
Время от возникновения запроса на прерывание до выполнения первой команды его обработчика. Время реакции системы на события не зависит от ОСРВ и целиком определяется аппаратурой, а вот интервал времени – от возникновения запроса на прерывание и до выполнения первой инструкции обработчика определяется целиком свойствами ОС и архитектурой компьютера. Это время оценивается в худшей для системы ситуации, то есть при условии, что процессор загружен, в это время происходят другие прерывания, а система выполняет какие-то действия, блокирующие прерывания.
2. Время переключения контекста. В ОСРВ изначально заложен параллелизм, т.е. возможность одновременной обработки нескольких событий, поэтому все ОСРВ являются многозадачными (многопроцессными или многонитевыми). ОСРВ содержат механизмы, гарантирующие заранее вычисленное время реакции системы. Эта гарантия достигается знанием максимального времени блокировок прерываний в системе, времени переключения контекста, времен выполнения различных системных вызовов, применением нужных механизмов диспетчеризации и пр. То есть время реакции на события для ОСРВ можно вычислить с большой точностью. Эти вычисления невозможны для ОС LINUX и Windows NT – здесь можно полагаться только на результаты тестирования, эмпирические оценки.
3. Время перезагрузки системы, которое определяет выбор ОС, от которой требуется непрерывная работа. Для повышения надежности ОС, т.к. от ошибок никто не застрахован, ставятся ловушки, отслеживающие зависание системы или приложений, и автоматически перезагружающие систему. В большинстве систем (OS9, VxWorks) время загрузки можно регулировать, изменяя стартовые последовательности. В ОС LINUX время загрузки в стандартном варианте более минуты, система неустойчива к внезапным остановам – требуется стандартная процедура завершения работы с системой (shutdown). Однако LINUX достаточно гибок и можно, используя специальные опции файловой системы, создать конфигурации системы, в которых время загрузки будет уменьшено до десятка секунд и система будет устойчива к сбоям. В Windows NT время загрузки более минуты, система неустойчива к внезапным сбоям. Использование расширений реального времени (RTX) позволяет детектировать зависание системы и выполнить в этих случаях необходимые операции по спасению данных и по выполнению каких-то страховочных действий.
4. Размеры системы исполнения является важным параметром ОСРВ, поскольку важен суммарный размер минимально необходимого для работы прикладных программ приложения системного набора (системное ядро, системные модули, драйверы). Во времени этот параметр снижается, но он остается важным, и производители ОСРВ стремятся к тому, чтобы он был не велик (ОСРВ OS9–22 Кбайт, VxWorks–16 Кбайт).
Возможность исполнения ОСРВ из ПЗУ. Система должна иметь возможность осуществлять загрузку из ПЗУ. Для экономии места в ПЗУ часть системы может храниться в сжатом виде и загружаться в ОЗУ по мере необходимости. Часто система позволяет исполнять код как в ПЗУ, так и в ОЗУ. При наличии свободного места в ОЗУ система копирует себя из медленного ПЗУ в более быстрое ОЗУ.
Механизмы ОСРВ (система приоритетов, алгоритмы диспетчеризации, методы межзадачного взаимодействия, средства для работы с таймерами). Требования к ОСРВ изложены в группе международных стандартов POSIX (переносимый интерфейс ОС), разработанных одним из рабочих комитетов международного профессионального объединения технических специалистов IEEE.
К дополнительным свойствам ОСРВ можно отнести следующие:
– Наличие необходимых драйверов устройств. Если разрабатываемая система имеет обширную периферию, то наличие уже готовых драйверов может оказать большое влияние на выбор ОС. Самый большой набор драйверов создан для ОС LINUX и Windows NT. Наиболее популярные ОС РВ, такие, как VxWorks, OS9, QNX, имеют обширные наборы драйверов и содержат средства для их быстрой разработки.
– Поддержка процессоров различной архитектуры. В связи с тем, что в промышленных компьютерах, серверах, встраиваемых системах широко распространены процессоры разной архитектуры с различной системой команд, ОСРВ по возможности должна поддерживать как можно более широкий ряд процессоров.
– Одной из важных характеристик ОСРВ является наличие специального кроссплатформенного инструментария разработчика, поскольку разработка СРВ проводится на «обычном» компьютере, отличном по архитектуре от компьютера, на котором будет устанавливаться СРВ. При этом ОС на этих компьютерах также может не совпадать.
Важнейшими характеристиками ОСРВ являются заложенные в ОС механизмы реального времени:
– Система приоритетов и алгоритмы диспетчеризации. Базовыми инструментами разработки сценария работы системы являются система приоритетов процессов (задач) и алгоритмы планирования (диспетчеризации) ОСРВ. В многозадачных ОС общего назначения используются различные модификации алгоритма циклической диспетчеризации, основанные на понятии непрерывного кванта времени ("time slice"), предоставляемого процессу для работы. Планировщик по истечении каждого кванта времени просматривает очередь активных процессов и принимает решение, кому передать управление, основываясь на приоритетах процессов (численных значениях, им присвоенных). Приоритеты могут быть фиксированными или меняться со временем – это зависит от алгоритмов планирования в данной ОС, но рано или поздно процессорное время получат все процессы в системе.
– Механизмы межзадачного взаимодействия. Другой набор механизмов реального времени относится к средствам синхронизации процессов и передачи данных между ними. Для ОСРВ характерна развитость этих механизмов. Многие из подобных механизмов используются и в ОС общего назначения, но их реализация в ОСРВ имеет свои особенности – время исполнения системных вызовов почти не зависит от состояния системы, и в каждой ОСРВ есть, по крайней мере, один быстрый механизм передачи данных от процесса к процессу.
– Средства для работы с таймерами необходимы для систем с жестким временным регламентом, поэтому развитость средств работы с таймерами – необходимый атрибут ОС РВ. Эти средства позволяют:
измерять и задавать промежутки времени от 1 мкс и выше;
генерировать прерывания по истечении временных интервалов;
создавать разовые и циклические будильники.
Почти в каждой ОСРВ имеется набор дополнительных, специфических только для нее механизмов, касающихся системы ввода/вывода, управления прерываниями, работы с памятью. Каждая система содержит также ряд средств, обеспечивающих ее надежность.