Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Операционные системы реального времени






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

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

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

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

Стандарт IEEE 1003.1 даёт следующее определение РВ: " Реальное время в операционных системах — это способность операционной системы обеспечить требуемый уровень сервиса в определённый промежуток времени". Следовательно, ОС РВ отличаются своим поведением, а не внутренним принципом построения. Поэтому если вероятность появления недопустимо больших задержек достаточно низка для достижения требуемого уровня сервиса (например, если она меньше допустимой вероятности отказа системы), то такая ОС в конкретном применении может рассматриваться как ОС РВ. В частности, в соответствии с определением стандарта POSIX операционная система Windows XP при управлении медленными (тепловыми) процессами может рассматриваться как ОС РВ.

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

Базовыми требованиями для обеспечения режима реального времени являются следующие [Furr]:

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

Инверсией приоритетов называют ситуацию, когда поток с высоким приоритетом требует предоставления ресурса, который уже занят потоком с более низким приоритетом. Получается, что высокоприоритетный поток стоит в очереди, в то время как исполняется низкоприоритетный (происходит " инверсия приоритетов"). Такая ситуация возможна, если имеется поток со средним приоритетом, который блокирует завершение выполнение потока с низшим приоритетом, а поток с высшим приоритетом не может начаться, поскольку захвачен необходимый ему ресурс. Основным методом решения этой проблемы в ОС РВ является наследование приоритетов [Jean J. Labrosse], которое заключается в следующем. Если низкоприоритетный поток блокирует выполнение нескольких высокоприоритетных потоков, то низкоприоритетный поток игнорирует назначенный ему первоначально приоритет и выполняется с приоритетом, который является наивысшим в блоке ожидающих его потоков. После окончания работы поток принимает свой первоначальный приоритет.

Для обеспечения режима реального времени в ОС могут быть реализованы следующие требования [Furr, Jean J. Labrosse]:

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

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

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


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал