Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
0 М УП 2012, 241с Марданов Р Ф СПА Распределенные системы управления (общее).doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
10 Мб
Скачать
☆
    1. Операционные системы реального времени

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

Пусть, к примеру, автомат подсчитывает количество бутылок на конвейере. Если бутылки появляются напротив датчика с периодом 1 с, а время реакции системы на появление бутылки составляет 0,7 с, то система кажется работоспособной. Однако, если задержка является случайной величиной, то в некоторый момент времени она может оказаться больше 1 с, что приведет к появлению случайной ошибки в количестве бутылок, т.е. к отказу системы. Величина ошибки определяется статистической функцией распределения случайных задержек.

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

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

Стандарт POSIX (Portable Operating System Interface for Computer Environ- ments) IEEE 1003.1 даёт следующее определение РВ: способность ОС обеспечить требуемый уровень сервиса в определённый промежуток времени. Следовательно, ОС РВ отличаются своим поведением, а не внутренним принципом построения. Поэтому если вероятность появления недопустимо больших задержек достаточно низка для достижения требуемого уровня сервиса (например, если она меньше допустимой вероятности отказа системы), то такая ОС в конкретном применении может рассматриваться как ОС РВ. В частности, в соответствии с определением стандарта POSIX ОС Windows ХР при управлении медленными (тепловыми) процессами может рассматриваться как ОС РВ.

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

Базовые требования для обеспечения режима РВ:

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

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

  • процессы и потоки, время выполнения которых нельзя планировать, никогда не должны полностью занимать ресурсы системы.

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

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

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

  • возможность наследования приоритетов;

  • возможность вытеснения задач ядром ОС;

  • ограниченная латентность прерываний (время, в течение которого прерывание запрещено, - это время обработки критической секции кода);

  • выполнение сервисов ОС с приоритетом, который назначается клиентом сервиса.

В системах РВ обычно отсутствует виртуальная память, поскольку этот метод использует подкачку страниц с диска, время выполнения которой является непредсказуемым.

Наиболее распространенными в ПЛК и компьютерах для решения задач автоматизации являются ОС Windows СЕ, QNX Neutrino и OS-9.

Windows CE.NET. Многозадачная ОС жесткого РВ корпорации Microsoft поддерживает микропроцессоры с архитектурой ARM, StrongARM и xScale, MIPS, SH, Х86-совместимые и имеет следующие свойства:

  • допускает одновременное выполнение до 32 процессов;

  • имеет 256 уровней приоритетов;

  • поддерживает вытесняющую многозадачность;

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

  • поддерживает вложенные прерывания;

  • имеет среднее время обработки прерывания 2,8 мкс (на Pentium 166 МГц), поддерживает вложенные прерывания;

  • обеспечивает время обработки потока прерываний (Interrupt Service Thread, 1ST), равное 17,9 мкс (на Pentium 166 МГц);

  • в минимальной конфигурации может быть установлена при объеме ОЗУ 200 Кб.

Ядро этой ОС принципиально отличается от ядра ОС для настольных комтьютеров. В Windows CE.NET объединены все возможности систем РВ и последние технологии Windows. Планирование выполняется на основе приоритетов, для устранения инверсии используется наследование приоритетов. Несмотря на наличие возможности работы с виртуальной памятью, для обеспечения режима жесткого РВ ее отключают.

Windows CE.NET поддерживает Microsoft Visual Studio.NET и Microsoft eMbedded Visual С++ с языками программирования Visual С++, Visual С# и Visual Basic.NET.

QNX Neutrino корпорации QNX Software Systems является ОС РВ и обеспечивает многозадачный режим с приоритетами. Поддерживает микропроцессоры семейств ARM, StrongARM, xScale, x86, MIPS, PowerPC, SH-4.

QNX относится к микроядерным ОС (т.е. реализует только базовые функции ядра - управление адресным пространством ОЗУ и виртуальной памяти, процессами и потоками, обеспечивает межпроцессорную коммуникацию). Состоит из ядра, планировщика процессов и сервисов. Построена на основе сервисов - небольших задач, выполняющих основные функции ОС. Такая структура позволяет отключить любую ненужную функциональность, не изменяя ядро. Каждый драйвер, приложение, протокол или файловая система выполняются вне ядра, в защищенном адресном пространстве.

Инверсия приоритетов преодолевается с помощью распределенного наследования приоритетов.

OS-9. фирмы Microware System является многозадачной и многопользовательской, работает в режиме мягкого РВ. Используется во встраиваемых приложениях на платформах ARM, StrongARM, MIPS, PowerPC, Hitachi SuperH, x86, Pentium, XScale, Motorola 68K.