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

Автор: Пользователь скрыл имя, 12 Декабря 2012 в 16:43, реферат

Описание работы

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

Работа содержит 1 файл

системы реального времени.doc

— 190.00 Кб (Скачать)

Санкт-Петербургский  государственный

электротехнический университет

 

 

 

 

 

 

Кафедра Автоматизированных систем

обработки информации и  управления

 

 

 

 

 

 

 

 

 

 

Реферат на тему

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Санкт-Петербург 

2012 год

Операционные  системы реального времени (ОСРВ)

 

1 Понятие  ОСРВ и её характеристики;

Система реального времени - это конкретная система, связанная с реальным объектом, процессами. Она включает в себя необходимые аппаратные средства, операционную систему и прикладное программное обеспечение.

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

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

  • Поддержка и организация выполнения всех задач;
  • Управление прерываниями;
  • Реализация взаимодействия процессов в системе;
  • Запуск задач в назначенные моменты времени.

Из особенностей СРВ следует, что ОСРВ должна отличаться от универсальных ОС. Основные отличия приведены в таблице 1

Таблица 1

Основные  отличия операционных систем реального  времени от универсальных ОС

 

Универсальные ОС

ОС  реального времени

Назначение

• эффективное управление ресурсами, 
• предоставление удобного интерфейса;

• создание СРВ, 
• управление СРВ 
• обеспечение функционирования СРВ

Состав 

Набор готовых  приложений

Инструмент  для создания аппаратно-программного комплекса СРВ 

Пользователи 

Пользователи приложений

Проектировщики, разработчики



 

Характеристики  ОСРВ

ОСРВ – это  операционные системы, для которых  характерно:

  1. Высокий уровень готовности:  
    Обеспечение высокого уровня готовности необходимо для обеспечения функционирования самой СРВ. В архитектуре и при реализации ОС надо учесть следующие факторы:  
    Отсутствие виртуальной памяти: 
    Виртуальная память (файл подкачки) должна быть выключена или отсутствовать. Любое обращение к дискам непредсказуемо увеличивает время реакции системы. 
     
    Отсутствие сети (непосредственное использование протоколов):  
    Сетевое окружение не должно содержать служб имен, периодических опросов узлов и других источников периодических событий. Единственным допустимым трафиком должны быть передаваемые данные. Любое непредусмотренное сообщение по сети от служб сервиса или повтор при коллизии ведет к задержкам в системе. 
     
    Система должна предоставлять пользователю расширенные возможности по работе с прерываниями 
    Система должна позволять пользователю выполнять все требуемые операции внутри обработчика прерывания; устанавливать приоритет прерываний; аппаратно блокировать неиспользуемые прерывания. Правильное программирование приоритетов прерываний позволяет свести к минимуму возможные потери информации или исключить их полностью. 
     
    Система регистрации должна писать на виртуальный диск  
    Регистрация данных - один из основных процессов в технологических системах. Для исключения задержек при записи необходимо писать в память или ставить дисковые контроллеры со специальным кэшем, позволяющем "демпфировать" неравномерную скорость потока и задержки при сбросе информации на диски.
  2. Гарантированное время отклика
  3. Ограниченность ресурсов памяти.  
    Данная характеристика определяется аппаратными особенностями ПК, на котором функционируют СРВ. Они подробно рассмотрены в п.2 данного пособия. ОС часто работает на бездисковом компьютере и осуществляет начальную загрузку из ПЗУ, часть системы хранится в сжатом виде и подгружается по мере необходимости; Может исполнять код, как в ОЗУ, так и в ПЗУ и копировать себя из медленного ПЗУ в быстрое ОЗУ при наличии свободного места.
  4. Невысокая производительность:  
    Обеспечение высокой производительности не ставится во главу. СРВ – это небыстрая система, гораздо важнее гарантировать время выполнения.
  5. Наличие средств автомониторинга.  
    СРВ обеспечивают бесперебойную работу жизненно важных систем, поэтому, если возникает сбой или выполняются какие-то нелегальные операции, ОС должна их диагностировать, при необходимости блокировать программу или изолировать друг от друга приложения, инициировать восстановление и защиту других программ либо самой системы.
  6. Поддержка различного специального оборудования.  
    В соответствии с определением, СРВ управляет различным оборудованием. Связь системы с объектом обеспечивают периферийные контроллеры, таймеры.
  7. Существование системы исполнения и системы разработки.  
    Системы разработки - набор средств, обеспечивающих создание и отладку приложений реального времени;  
    Системы исполнения - набор средств, обеспечивающих функционирование приложения реального времени. Размер системы исполнения обычно невелик.

 

 

Технические параметры ОСРВ

Перечислим  основные технические параметры, которые  должна обеспечивать ОС реального времени:

  • Время реакции системы на прерывание (interrupt latency – латентная задержка прерывания) - интервал времени от события на объекте до выполнения первой инструкции в программе обработки этого события.
  • Время реакции задачи (task response) - интервал времени от момента возникновения физического прерывания до начала выполнения первой инструкции задачи пользователя, которой предназначено прерывание.
  • Время переключения контекста (context switch) - интервал времени от момента окончания выполнения последней инструкции одного процесса (потока) до момента начала выполнения первой инструкции следующего процесса (потока). Этот интервал определяет, как часто каждый из активных процессов может получать управление при заданных параметрах квантования времени.
  • Задержка диспетчеризации (scheduling latency) - интервал времени от момента окончания выполнения последней инструкции пользовательского обработчика прерываний до момента выполнения первой инструкции процесса, перешедшего в состояние из-за этого прерывания;
  • Максимальное время исполнения каждого системного вызова. Оно должно быть предсказуемым и не зависеть от количества объектов в системе;
  • Максимальное время, на которое модули ОС и драйверы могут блокировать прерывания;
  • Неустойчивость таймера (timer jitter) - разница во времени срабатывания таймера с фиксированной длительностью.
  • Размеры ОС.

 
 
Til – Время задержки прерывания  
Tint – Время обработки прерывания  
Tiret – Время возврата из прерывания 
Tsl – Задержка диспетчеризации  
 
Все приведенные характеристики должны быть известны заранее и предоставлены разработчику СРВ. Без них нельзя обеспечить выполнение критических сроков обслуживания (deadline) . Требования также зависят от специфики управляемого процесса. Например, контроллер робота может требовать от встроенного компьютера ответ в течение менее 1 мс, в то время как при моделировании полета, может быть, приемлем ответ в 40 мс. При разработке текстового редактора время реакции на нажатие клавиши не должно превышать 0.1-0.2 сек.

Время Tint зависит от содержания обработчика прерывания. Остальные времена зависят от аппаратуры вычислительной системы, архитектуры и реализации ОС. Как правило, для них выполняется соотношение:

Tsl > Til > Tiret

Время переключения контекста обычно на 20% больше чем Тsl . Характеристики различных ОС приведены в таблице 2.

Таблица 2

Сравнительные результаты технических параметров ОС реального времени

Технические параметры 

Linux OS

OS-9

QNX

VXWorks

Windows RTX

Переключение  между заданиями, мс

-

3

2.5

10

14

Задержка  прерываний, мс

<20

3

2.5

10

-

Аппаратная  платформа

x86,  
Power PC,  
microSPARC

x86,  
Power PC,

32-bit x86,  
Power PC,  
MIPS

x86,  
SPARC,  
Power PC,  
MIPS

x86,  
Alpha

Требуемое количество памяти, Kб

4 000  
(run-time)

24 (ROM)  
64 (RAM)

640/4000+ 
(GUI)

10+

12000/16000



 

 

 

 

 

 

 

 

 

 

 

2 Основные  требования, 
предъявляемые к ОС реального времени

Мартин Тиммерман  сформулировал следующие необходимые  требования для ОСРВ :

  1. ОСРВ должна быть многозадачной (или многопоточной).  
    Программное обеспечение СРВ представляет собой фиксированный набор заранее разработанных модулей, а выбор программы на выполнение осуществляется по прерываниям (исходя из текущего состояния объекта) или в соответствии с расписанием плановых работ. Подробнее о планировании ОСРВ в главе 4 данного пособия.
  2. Реализовано понятие приоритета задачи (потока).  
    Процессы (нити) должны иметь приоритеты, к которым разработчики СРВ сводят требования по временным ограничениям. Как определить задачу (нить), которая нуждается в ресурсах больше всего? В идеальном случае, ОСРВ предоставляет ресурсы задаче, у которой осталось меньше всего времени до истечения срока реакции на событие. Однако для реализации этого механизма нужно уметь прогнозировать, сколько времени понадобится данной задаче для завершения своей работы и сколько времени понадобится другим для того, чтобы они успели к своим критическим срокам. Подобный прогноз очень сложен в реализации, да и времени на его составление нет. Поэтому разработчики ОС используют концепцию приоритетов.
  3. Должен существовать механизм наследования приоритетов.  
    В многозадачной СРВ необходимость разделения ресурсов, комбинация приоритетов потоков могут привести к таким проблемам, как инверсия приоритетов (priority inversion) и смертельный захват (deadlock) . 
    Инверсия приоритетов – это ситуация, в которой, управление получает не та ветвь исполнения, которая должна была бы получить из соображений приоритетности, а другая, с более низким приоритетом, в результате нарушается детерминированность и прогнозируемость системы.  
    Для примера рассмотрим систему с 3 потоками управления: Т1, Т2, Т3 , причём их приоритеты: T1 < T2 < T3 . Пусть потоки активируются по некоторым событиям в следующей временной последовательности: T1, T2, T3 . Если T1 захватывает некоторый монопольный ресурс, который требуется так же и T3 , и не успевает освободить его до активации Т2 , то происходит следующее:
  4. - T1 не выполняется, потому, что он вытеснен T2 (в виду приоритетности);
  5. - T3 не выполняется, потому, что ожидает ресурс, захваченный T1 ;

  - T2 выполняется ... вплоть до бесконечно долго.

 
Но T2 в данном примере не является потоком, подлежащим немедленному исполнению. Самый высокоприоритетный - T3 , его назначение – своевременная реакция на событие, оно не только не обработается в гарантированное время, но и вообще гарантировано не обработается.  
Чтобы устранить такие инверсии, ОСРВ должна допускать наследование приоритета: нужно динамически повысить приоритет блокирующего потока ( Т1 в рассмотренном примере) до значения максимального приоритета всех тех потоков, которые ожидают освобождения заблокированного ресурса ( Т3 в рассмотренном примере). После освобождения ресурса тут же вернуть приоритет к его исходному статическому уровню. При этом «задерживающий всех» поток быстро пройдет критическую секцию на максимальном приоритете тех, кого он «задерживает». Наследование означает, что блокирующий ресурс поток наследует приоритет потока, который он блокирует.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 Типы  ОСРВ 

В настоящее  время существует большое количество ОСРВ. Некоторые из них распространены во всем мире, число инсталляций  достигает сотен тысяч, что для  промышленных систем совсем неплохо, другие же разработаны для конкретной модели микроконтроллера и число проданных копий не превышает двух-трех десятков. В обзоре [7] приводится описание, и даются характеристики 60 ОСРВ.

Не  существует операционных систем жесткого или мягкого реального времени! Классификация на жесткое и мягкое время верна для самих систем реального времени. А операционная система реального времени - только инструмент, помогающий построить конкретную систему реального времени. Поэтому бессмысленно говорить об ОС жесткого или мягкого реального времени. Можно говорить только о том, можно ли с помощью данной операционной системы построить систему реального времени. Конкретная ОСРВ может только предоставить возможность создать систему жесткого реального времени. Но обладание такой ОСРВ вовсе не делает вашу систему "жесткой". Для создания системы жесткого реального времени необходимо сочетание подходящих аппаратных средств, адекватной операционной системы и правильного проектирования прикладного программного обеспечения. Если, например, вы решили построить СРВ, обслуживающую TCP/IP-соединение через Ethernet, она никогда не будет системой жесткого реального времени, поскольку сам Ethernet непредсказуем. С другой стороны, с помощью ОС "Windows 3.11", невозможно создать приложение жесткого реального времени, так как непредсказуемо поведение этой ОС.

Рассмотрим  основные типы ОСРВ.

  1. Типы ОСРВ по способу разработки программного обеспечения:

•Self-Hosted ОСРВ –  
Системы, в которых пользователи могут разрабатывать приложения, работая в данной ОС. Это предполагает, что ОС данного типа поддерживают: файловую систему, средства ввода/вывода, пользовательский интерфейс, имеются компиляторы, отладчик, средства анализа программ и текстовые редакторы. 
Достоинством данных систем является простой и наглядный механизм создания и запуска приложений, которые функционируют на той же машине, что и пользователь. Недостатком является то, большинство перечисленных возможностей ОС не используются во время работы промышленного компьютера и, следовательно, зря занимают ресурсы компьютера.  
Используются на “обычных” компьютерах промышленного исполнения (Глава 2 данного пособия).

• Host-target ОСРВ –  
Системы, в которых ОС и (или) компьютер, на котором разрабатываются приложения (Host) и ОС и (или) компьютер, на котором запускаются приложения (Target) различны. В качестве host-системы обычно выступает компьютер под управлением ОС “широкого назначения” UNIX, Windows, в качестве target-системы - промышленный или встраиваемый компьютер под управлением ОСРВ.  
Достоинством таких систем является использование всех ресурсов "обычной" ОС (таких, как графический интерфейс, файловая система, быстрый процессор и большой объем оперативной памяти) для создания приложений и уменьшение размеров ОСРВ за счет включения только нужных приложению компонент. Недостатком является относительная сложность программных компонент: кросс-компилятора, удаленного загрузчика и отладчика, и т.д.  
С одной стороны, рост мощности промышленных компьютеров позволяет использовать self-hosted системы на большем числе вычислительных систем. С другой стороны, увеличивающееся распространение встраиваемых систем расширяет сферу применения host-target систем (поскольку при больших объемах выпуска цена системы является определяющим фактором).

  1. Типы ОСРВ по происхождению:

•“Обычные”  ОС –  
ОС «общего назначения», используемые в качестве ОС реального времени. В соответствии с требованиями к ОСРВ добавляют дополнительные модули, реализующие поддержку специфического оборудования, планирование задач и обработку прерываний. Все такие системы по способу разработки ПО - Self-Hosted.

•Собственно ОСРВ –  
Специализированные ОС для применения в задачах реального времени. Системы по способу разработки ПО - Self-Hosted, Host-Target (большинство).

•Специализированные (частные) ОСРВ –  
ОСРВ, разработанные для конкретного микроконтроллера его производителем. Не являются полноценными ОС, а представляют единый модуль с приложением и обеспечивают необходимый минимум функциональности. Все системы по способу разработки ПО - Host-Target.

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