Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек СРВ от Анн.doc
Скачиваний:
11
Добавлен:
09.11.2019
Размер:
2.26 Mб
Скачать

176

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

Тульский государственный университет

Кафедра «Автоматизированные информационные

и управляющие системы»

Д.т.н., профессор Щепакин К.М.

КОНСПЕКТ ЛЕКЦИЙ

по дисциплине «Системы реального времени»

Направление подготовки: 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М.