- •Тула 2010
- •1.1 Принципы построения и основные требования. Особенности.
- •1.2 Ос рв qnx. Поддержка срв ос Linux.
- •1. 3 Функциональные требования к осрв
- •2. "Жесткие" и "мягкие" системы реального времени
- •3. Нити и приоритеты
- •4. Предсказуемость системных вызовов Win32 api
- •5. Управление прерываниями в nt
- •6. Управление памятью в nt
- •7. Может ли Windows nt использоваться в качестве ос рв?
- •Лекция №2.
- •Коммерческие решения, расширяющие nt возможностями обработки в реальном времени
- •Использование nt
- •3. Реализация Win32 api над другой ос рв
- •4. Совместная работа на одном процессоре nt и ос рв
- •5. Использование многопроцессорной архитектуры
- •6. Необходимые требования к ос для обеспечения предсказуемости
- •Лекция №3.
- •Лекция №4.
- •1. Разработка приложений жесткого реального времени
- •2. Модификация ядра
- •3. Модификация уровня аппаратных абстракций Windows nt (hal)
- •4. Применение ос рв
- •Лекция №5. Операционная система qnx. Системная архитектура.
- •Лекция № 6.
- •Лекция №7. Связь между процессами по сети посредством виртуальных каналов.
- •Лекция №8. Построение очереди процессов
- •Лекция №9. О работе в реальном времени
- •Лекция №10. Сопоставление и передача путей между процессами.
- •2. Префиксы управления вводом – выводом
- •5. Передача путей между процессами
- •2. Префиксы управления вводом – выводом
- •5. Передача путей между процессами
- •2. Относительные пути
- •3. Текущий рабочий каталог
- •Примечание относительно cd
- •4. Описатели файлов пространства
- •Лекция №12 Аппаратное и программное обеспечение промышленных систем реального времени (псрв)
- •Введение
- •1. Организация промышленных систем
- •2. Аппаратная архитектура
- •3. Стандарты шин
- •4. Технологии vme и pci
- •5. Мезонинные технологии
- •6. Полевые системы
- •7. Программное обеспечение промышленных систем
- •8. Управление производством
- •Лекция №13 Использование средства nt в качестве Web-сервера для iis (Internet Information Server)
- •Введение
- •Общие черты intranet-систем
- •3. Система управления доступом
- •4. Прикладное программирование в intranet
- •Лекция 14 Операционная система ос рв см эвм (rsx-11)
- •Введение
- •Основные компоненты системы ос рв
- •2. Диспетчер памяти
- •3. Многопользовательская защита
- •4. Выполнение задач под управлением ос рв
- •5. Внешние устройства и файловая система на дисках
- •Лекция 15 Управление прерываниями.
- •Вектора прерываний
- •Программирование контроллера прерываний 8259.
- •Запрет/разрешение отдельных аппаратных прерываний
- •Лекция 16 Управление Тема: прерываниями (продолжение).
- •Написание собственного прерывания
- •Дополнение к существующему прерыванию
- •Лекция 17 Синхронные методы проектирования срв
- •Система упорядоченного опроса
- •Основной цикл с прерываниями
- •Лекция 18 Синхронные методы проектирования срв (продолжение)
- •1 . Циклические планировщики
- •2. Выбор метода построения системы
- •3. Измерение быстродействия компьютера
- •4. Мультизадачный режим в операционной системе ms-dos
- •5. Условия существования мультизадачного режима в персональном компьютере ibm pc/at
- •X. Библиографический список рекомендуемой литературы
- •13.1 Ос рв usix: основные принципы построения и структура.
- •13.2 Поддержка рв в usix
- •13.3 Управление виртуальной памятью в usix
- •14.1 Процессы, связанные с выполнением программ
- •14.2 Функции ос рв usix, не связанные с управлением процессами
- •15.1 Программирование коммуникационных устройств.
- •15.2 Драйверы коммуникационных устройств
- •16.1 Файловая система
- •16.2 Средства защиты от несанкционированного доступа
- •16.3 Поддержка протоколов и окружений usix
Министерство образования и науки РФ
Тульский государственный университет
Кафедра «Автоматизированные информационные
и управляющие системы»
Д.т.н., профессор Щепакин К.М.
КОНСПЕКТ ЛЕКЦИЙ
по дисциплине «Системы реального времени»
Направление подготовки: 230100 Информатика и вычислительная техника
Специальность подготовки: 230102 «Автоматизированные системы обработки информации и управления»
Форма обучения очная
Тула 2010
Лекция №1.
Системы реального времени (СРВ). Принципы построения и основные требования. ОС РВ.
План лекции:
Введение
1. Функциональные требования к ОСВР
2. "Жесткие" и "мягкие" системы реального времени
3. Нити и приоритеты
4. Предсказуемость системных вызовов Win32 API
5. Управление прерываниями в NT
6. Управление памятью в NT
7. Может ли Windows NT использоваться в качестве ОС РВ?
Введение
Система реального времени (СРВ) - это аппаратно-программный комплекс, который должен своевременно и предсказуемо реагировать на поступающие извне раздражители. Основное требование к СРВ - своевременность обработки событий. Реакция на событие должна уложиться в пределы заранее определенного лимита времени, а превышение этого лимита или опоздание считается программным сбоем.
В обычных интерактивных системах, не являющихся СРВ, например, в текстовом редакторе, превышение временного лимита не считается программным сбоем, а классифицируется как проблема производительности, которая может быть решена путем установки более мощного процессора.
Еще одним важным требованием к СРВ является одновременная обработка событий: если несколько событий происходят одновременно, все они должны быть обработаны своевременно. Это означает, что имманентным свойством системы реального времени должен быть параллелизм. Чтобы этого добиться, необходимо установить более одного процессора или придерживаться многозадачного подхода.
1.1 Принципы построения и основные требования. Особенности.
Операционные системы общего назначения не предназначены для решения задач реального времени. Они ориентированы в основном на рациональное распределение ресурсов ЭВМ между пользователями, а также между выполняемыми задачами.
В УВК используются специализированные операционные системы операционные системы реального времени (ОС РВ) Они управляют событиями и распределяют ресурсы УВК. Принципиальным требованием к ОС РВ является гарантированное время реакции на внешние события, происходящие на управляемом объекте. Время реакции не должно превышать критического (deadline) времени для этого события. Критическое время обслуживания события зависит от специфики управляемого объекта и должно быть известно при создании системы управления.
Различают операционные системы жесткого (или детерминированного) и мягкого реального времени. Системы жесткого реального времени применяют для построения УВК, в которых задержка реакции недопустима, поскольку ведет к отказу системы и может повлечь за собой катастрофические
последствия. ОС мягкого реального времени используют при построении УВК, в которых задержка реакции не является отказом, однако может привести к потере качества, например к снижению производительности системы. В АСУТП используют, как правило, ОС жесткого реального времени. Рассмотрим основные особенности ОС РВ, отличающие их от ОС общего назначения.
1.2 Ос рв qnx. Поддержка срв ос Linux.
Рассмотрим инструментальные средства разработки приложений. ОС QNХ, как отмечалось, широко используется для встраиваемых систем. Пакет Етbedded Kit позволяет разместить ОС QNХ и приложения пользователя в ПЗУ (Flash или RОМ) разрабатываемого промышленного контроллера. Пакет поддерживает различные аппаратные платформы (Intel, Осtagon, Ziatech и др.), архивацию данных или файлов в памяти, а также встраиваемые файловые системы, которые обслуживают вызовы ввода-вывода стандарта РОSIX.
Многие приложения используют для отображения контролируемого технологического процесса в реальном времени графический интерфейс. Средством разработки графического интерфейса для ОС QNХ является, например, пакет Рhоtоп Developers Тооlkit. Пакет представляет собой встраиваемую графическую оболочку с поддержкой 2D- и ЗD-графики, а также с возможностью запуска графических приложений, написанных для X Windows System. Пакет создает компактный код для встраиваемых приложений реального времени.
Пакет Photon Developers Тооlkit содержит:
библиотеку графических примитивов;
набор графических стандартных компонентов;
средства интерактивного проектирования графических приложений РhАВ (Рhoton Аррlication Вuilder), обеспечивающие создание и редактирование сложных графических объектов из набора стандартных, а также вновь созданных компонентов.
Для создания Интернет-приложений в среде ОС QNХ имеется пакет Voyager SDK (Software Development Kit), который содержит все инструменты, необходимые для разработки специализированного Web-браузера. Браузер Voyager обеспечивает пользователю удаленный доступ к промышленному контроллеру.
Операционная система Linux. В последнее время наблюдается тенденция встраивания функций поддержки режима реального времени в ОС общего назначения. Примером реализации такого подхода является операционная система Linux [33], которая имеет специальные расширения для реального времени.
Linux является 32-разрядной многозадачной и многопользовательской UNIX-подобной операционной системой, имеющей следующие основные свойства:
•соответствие стандарту РОS IX, что позволяет переносить разработанное для классических UNIX-систем программное обеспечение на Linux-системы; •модульный принцип организации, что является безусловным преимуществом перед так называемыми «монопольными» (рrо-prietary) UNIX-системами;
расширяемость и масштабируемость системы, что делает ее пригодной для использования как в простых промышленных контроллерах на базе i386ЕХ-микропроцессора, так и в многопроцессорных системах;
предоставление всех возможностей, доступных через вычислительную сеть, поскольку Linuх поддерживает работу с локальными промышленными сетями (например, Еthernet и Рrofibus) и обеспечивает доступ к удаленным УВК через сеть Интернет; сетевые технологии в Ушах соответствуют концепции «клиент-сервер», реализуемой на основе протоколов ТСР/IР;
возможность работы на большинстве известных 32-разрядных процессорных платформ: Intel,IВМ, Мotorola и др. Перенос системы на другую платформу требует адаптации небольшой аппаратно-зависимой части исходного кода ядра (это в основном драйверы устройств и загрузчики ядра). Доступность исходного кода операционной системы дает возможность ее оптимальной настройки в конкретных случаях.
Усеченный вариант Linuх занимает 2 Мбайта на жестком диске и хорошо подходит для компактных встроенных приложений (обычно потребность таких приложений в ресурсах оперативной памяти — от 2 до 8 Мбайт).
Для поддержки режима реального времени в среде Linuх разработаны специальные расширения KURT и UTIМЕ, а также RTLinuх.
Программный пакет КURТ является системой «мягкого» реального времени, имеет два режима работы — нормальный и реального времени, оформлен в виде системного модуля Linuх RTMod, который является планировщиком реального времени. Планирование процессов реального времени может осуществляться по событиям или по таймеру.
При переключении в режим реального времени все обычные процессы в системе приостанавливаются до завершения процесса реального времени. Планировщик RTMod выделяет каждому процессу реального времени интервал (квант) времени, равный 10 мc.
Расширение UTIME позволяет увеличить частоту системного таймера и получить кванты времени до 1 мс. Режим «мягкого» реального времени может быть использован, например, для задач обработки мультимедийной информации, требующих быстрой реакции системы.
Расширение RTLinux реализовано в виде небольшого ядра, поддерживающего режим «жесткого» реального времени, под управлением которого работает Linuх [33]. Фактически ядро Linux становится ожидающей задачей в системе реального времени, которая выполняется только тогда, когда в очереди нет задач реального времени. Процессы, выполняемые в среде Linux, не могут при этом блокировать аппаратные прерывания и запрещать свою выгрузку из памяти.
Техническое решение для реализации этих ограничений связано с программной эмуляцией механизма аппаратной обработки прерываний. Когда Linux посылает запрос на запрет прерывания, ядро RTLinux перехватывает и сохраняет этот запрос, а затем возвращает управление ядру Linux. При возникновении аппаратного прерывания управление всегда получает ядро RTLinux. Если прерывание связано с режимом реального времени, активизируется соответствующая программа обработки прерываний. В противном случае прерывание переводится в режим ожидания. При поступлении запроса от Linux на разрешение прерывания осуществляется программная эмуляция ожидающего прерывания и активизируется программа обработки прерывания в Linux.
Ядро реального времени в 1лпих является непрерываемым, но поскольку его программы очень малы, нет причин для больших задержек в обслуживании. Тестирование ядра на аппаратной платформе Рentium показало, что интервал задержки планирования задач не превышает 20 мкс.
В настоящее время интерес к использованию ОС Linux в качестве базовой операционной системы в промышленных системах управления постоянно растет. Такие системы обладают рядом преимуществ (распространенность и интеграция режима реального времени с развитыми средствами разработки), но в некоторых случаях уступают стандартным ОС РВ в масштабируемости и компактности.
Продвижением Linux в промышленные системы управления заняты более 100 компаний. Расширение RTLinux применимо для многих задач реального времени; ОС Linux может быть использована в качестве программной платформы для УВК СМ1820М.