Операционная система
в реальном времени
Ос реального времени
 Операционная система реального
времени, ОСРВ (англ. real-time operating
system, RTOS) — тип операционной системы,
основное назначение которой —
предоставление необходимого и
достаточного набора функций для
работы систем реального времени на
конкретном аппаратном оборудовании.
 В качестве основного требования к ОСРВ
выдвигается требование
обеспечения предсказуемости или
детерминированности поведения системы в
наихудших внешних условиях, что резко
отличается от требований к
производительности и быстродействию
универсальных ОС. Хорошая ОСРВ имеет
предсказуемое поведение при всех сценариях
системной загрузки (одновременные
прерывания и выполнение потоков).
Отличительные черты ОСРВ
Архитектуры ОСРВ
В своем развитии ОСРВ строились на
основе следующих архитектур:
•Монолитная архитектура. ОС
определяется как набор модулей,
взаимодействующих между собой внутри
ядра системы и предоставляющих
прикладному ПО входные интерфейсы для
обращений к аппаратуре. Основной
недостаток этого принципа построения ОС
заключается в плохой предсказуемости её
поведения, вызванной сложным
взаимодействием модулей между собой.
•Уровневая (слоевая) архитектура.
Прикладное ПО имеет возможность
получить доступ к аппаратуре не
только через ядро системы и её
сервисы, но и напрямую. По
сравнению с монолитной такая
архитектура обеспечивает значительно
большую степень предсказуемости
реакций системы, а также позволяет
осуществлять быстрый доступ
прикладных приложений к
аппаратуре. Главным недостатком
таких систем является
отсутствие многозадачности.
Архитектура «клиент-сервер».
Основной её принцип заключается
в вынесении сервисов ОС в виде
серверов на уровень пользователя
и выполнении микроядром
функций диспетчера сообщений
между клиентскими
пользовательскими программами и
серверами — системными
сервисами.
Преимущества такой архитектуры:
 Повышенная надёжность, так как каждый сервис
является, по сути, самостоятельным приложением и
его легче отладить и отследить ошибки.
 Улучшенная масштабируемость, поскольку ненужные
сервисы могут быть исключены из системы без ущерба
к её работоспособности.
 Повышенная отказоустойчивость, так как «зависший»
сервис может быть перезапущен без перезагрузки
системы.
Для чего нужна ОСРВ
 Во-первых ОСРВ поддерживает многозадачность,
приоритеты процессов семафоры и многое другое.
 Во-вторых она очень легкая и почти не требует ресурсов.
 В-третьих все вышесказанное мы можем получить
практически на любом железе (например, FreeRTOS
запускается даже на 8-битных AtMega).
 Ну и в-четвертых: просто поиграться и получить
удовольствие.
Особенности ядра
Ядро ОСРВ обеспечивает
функционирование
промежуточного
абстрактного уровня ОС,
который скрывает от
прикладного ПО
специфику технического
устройства процессора
(нескольких процессоров)
и связанного с ним
аппаратного обеспечения
Система жёсткого реального времени
и система мягкого реального времени
 Операционные системы реального времени иногда делят на
два типа — системы жесткого реального времени и системы
мягкого реального времени.
 Операционная система, которая может обеспечить требуемое
время выполнения задачи реального времени даже в худших
случаях, называется операционной системой жёсткого
реального времени.
 Операционная система, которая может обеспечить требуемое
время выполнения задачи реального времени в среднем,
называется операционной системой мягкого реального
времени.
Системы жёсткого реального времени не
допускают задержек реакции системы, так как
это может привести к:
 потере актуальности результатов;
 большим финансовым потерям;
 авариям и катастрофам.
Ситуация, в которой обработка
событий происходит за время,
большее предусмотренного, в
системе жёсткого реального
времени считается фатальной
ошибкой. При возникновении такой
ситуации операционная система
прерывает операцию и блокирует
её, чтобы, насколько возможно, не
пострадала надёжность и
готовность остальной части
системы. Примерами систем
жёсткого реального времени могут
быть бортовые системы
управления (на самолёте,
космическом аппарате, корабле, и
пр.), системы аварийной защиты,
регистраторы аварийных событий
 В системе мягкого реального времени задержка
реакции считается восстановимой ошибкой, которая
может привести к увеличению стоимости результатов и
снижению производительности, но не является
фатальной. Примером может служить
работа компьютерной сети. Если система не успела
обработать очередной принятый пакет, это приведет к
остановке на передающей стороне и повторной посылке
(в зависимости от протокола). Данные при этом не
теряются, но производительность сети снижается.
 Основное отличие систем жёсткого и мягкого
реального времени можно охарактеризовать так:
система жёсткого реального времени никогда не
опоздает с реакцией на событие, система мягкого
реального времени не должна опаздывать с реакцией
на событие
Выполнение задачи
В обычных ОСРВ задача может находиться в 3-х
возможных состояниях:
 задача выполняется;
 задача готова к выполнению;
 задача заблокирована.
Большую часть времени основная масса задач
заблокирована. Только одна задача может выполняться на
центральном процессоре в текущий момент времени. В
примитивных ОСРВ список готовых к исполнению задач,
как правило, очень короткий, он может состоять не более
чем из двух-трёх наименований.
 Основная функция администратора ОСРВ
заключается в составлении такого планировщика
задач.
Если в списке готовых к выполнению задач последних
имеется не больше двух-трех, то предполагается, что все
задачи расположены в оптимальном порядке. Если же
случаются такие ситуации, что число задач в списке
превышает допустимый лимит, то задачи сортируются в
порядке приоритета
Алгоритмы планирования
В настоящее время для решения задачи эффективного
планирования в ОСРВ наиболее интенсивно развиваются два
подхода:
 Статические алгоритмы планирования (RMS, Rate
Monotonic Scheduling). Используют приоритетное
вытесняющее планирование. Приоритет присваивается
каждой задаче до того, как она начала выполняться.
Преимущество отдается задачам с самыми короткими
периодами выполнения.
 Динамические алгоритмы планирования (EDF, Earliest
Deadline First Scheduling). Приоритет задачам присваивается
динамически, причем предпочтение отдается задачам с
наиболее ранним предельным временем начала (завершения)
выполнения.
Таким образом, Понятия "реальное время",
"работа в реальном масштабе времени",
"операционные системы реального времени"
известны всем, но толкуются они часто по-
разному и спектр этих толкований очень
широк. Количество иллюзий и мифов в мире
реального времени велико. Например, часто
путают такие понятие, как "реальное время" и
"скорость". Иногда полагают, что применение
операционной системы реального времени
автоматически разрешит все проблемы
создания надежной предсказуемой системы.

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

  • 1.
  • 2.
    Ос реального времени Операционная система реального времени, ОСРВ (англ. real-time operating system, RTOS) — тип операционной системы, основное назначение которой — предоставление необходимого и достаточного набора функций для работы систем реального времени на конкретном аппаратном оборудовании.
  • 3.
     В качествеосновного требования к ОСРВ выдвигается требование обеспечения предсказуемости или детерминированности поведения системы в наихудших внешних условиях, что резко отличается от требований к производительности и быстродействию универсальных ОС. Хорошая ОСРВ имеет предсказуемое поведение при всех сценариях системной загрузки (одновременные прерывания и выполнение потоков).
  • 4.
  • 5.
    Архитектуры ОСРВ В своемразвитии ОСРВ строились на основе следующих архитектур: •Монолитная архитектура. ОС определяется как набор модулей, взаимодействующих между собой внутри ядра системы и предоставляющих прикладному ПО входные интерфейсы для обращений к аппаратуре. Основной недостаток этого принципа построения ОС заключается в плохой предсказуемости её поведения, вызванной сложным взаимодействием модулей между собой.
  • 6.
    •Уровневая (слоевая) архитектура. ПрикладноеПО имеет возможность получить доступ к аппаратуре не только через ядро системы и её сервисы, но и напрямую. По сравнению с монолитной такая архитектура обеспечивает значительно большую степень предсказуемости реакций системы, а также позволяет осуществлять быстрый доступ прикладных приложений к аппаратуре. Главным недостатком таких систем является отсутствие многозадачности.
  • 7.
    Архитектура «клиент-сервер». Основной еёпринцип заключается в вынесении сервисов ОС в виде серверов на уровень пользователя и выполнении микроядром функций диспетчера сообщений между клиентскими пользовательскими программами и серверами — системными сервисами.
  • 8.
    Преимущества такой архитектуры: Повышенная надёжность, так как каждый сервис является, по сути, самостоятельным приложением и его легче отладить и отследить ошибки.  Улучшенная масштабируемость, поскольку ненужные сервисы могут быть исключены из системы без ущерба к её работоспособности.  Повышенная отказоустойчивость, так как «зависший» сервис может быть перезапущен без перезагрузки системы.
  • 9.
    Для чего нужнаОСРВ  Во-первых ОСРВ поддерживает многозадачность, приоритеты процессов семафоры и многое другое.  Во-вторых она очень легкая и почти не требует ресурсов.  В-третьих все вышесказанное мы можем получить практически на любом железе (например, FreeRTOS запускается даже на 8-битных AtMega).  Ну и в-четвертых: просто поиграться и получить удовольствие.
  • 10.
    Особенности ядра Ядро ОСРВобеспечивает функционирование промежуточного абстрактного уровня ОС, который скрывает от прикладного ПО специфику технического устройства процессора (нескольких процессоров) и связанного с ним аппаратного обеспечения
  • 11.
    Система жёсткого реальноговремени и система мягкого реального времени  Операционные системы реального времени иногда делят на два типа — системы жесткого реального времени и системы мягкого реального времени.  Операционная система, которая может обеспечить требуемое время выполнения задачи реального времени даже в худших случаях, называется операционной системой жёсткого реального времени.  Операционная система, которая может обеспечить требуемое время выполнения задачи реального времени в среднем, называется операционной системой мягкого реального времени.
  • 12.
    Системы жёсткого реальноговремени не допускают задержек реакции системы, так как это может привести к:  потере актуальности результатов;  большим финансовым потерям;  авариям и катастрофам.
  • 13.
    Ситуация, в которойобработка событий происходит за время, большее предусмотренного, в системе жёсткого реального времени считается фатальной ошибкой. При возникновении такой ситуации операционная система прерывает операцию и блокирует её, чтобы, насколько возможно, не пострадала надёжность и готовность остальной части системы. Примерами систем жёсткого реального времени могут быть бортовые системы управления (на самолёте, космическом аппарате, корабле, и пр.), системы аварийной защиты, регистраторы аварийных событий
  • 14.
     В системемягкого реального времени задержка реакции считается восстановимой ошибкой, которая может привести к увеличению стоимости результатов и снижению производительности, но не является фатальной. Примером может служить работа компьютерной сети. Если система не успела обработать очередной принятый пакет, это приведет к остановке на передающей стороне и повторной посылке (в зависимости от протокола). Данные при этом не теряются, но производительность сети снижается.  Основное отличие систем жёсткого и мягкого реального времени можно охарактеризовать так: система жёсткого реального времени никогда не опоздает с реакцией на событие, система мягкого реального времени не должна опаздывать с реакцией на событие
  • 15.
    Выполнение задачи В обычныхОСРВ задача может находиться в 3-х возможных состояниях:  задача выполняется;  задача готова к выполнению;  задача заблокирована.
  • 16.
    Большую часть времениосновная масса задач заблокирована. Только одна задача может выполняться на центральном процессоре в текущий момент времени. В примитивных ОСРВ список готовых к исполнению задач, как правило, очень короткий, он может состоять не более чем из двух-трёх наименований.  Основная функция администратора ОСРВ заключается в составлении такого планировщика задач. Если в списке готовых к выполнению задач последних имеется не больше двух-трех, то предполагается, что все задачи расположены в оптимальном порядке. Если же случаются такие ситуации, что число задач в списке превышает допустимый лимит, то задачи сортируются в порядке приоритета
  • 17.
    Алгоритмы планирования В настоящеевремя для решения задачи эффективного планирования в ОСРВ наиболее интенсивно развиваются два подхода:  Статические алгоритмы планирования (RMS, Rate Monotonic Scheduling). Используют приоритетное вытесняющее планирование. Приоритет присваивается каждой задаче до того, как она начала выполняться. Преимущество отдается задачам с самыми короткими периодами выполнения.  Динамические алгоритмы планирования (EDF, Earliest Deadline First Scheduling). Приоритет задачам присваивается динамически, причем предпочтение отдается задачам с наиболее ранним предельным временем начала (завершения) выполнения.
  • 18.
    Таким образом, Понятия"реальное время", "работа в реальном масштабе времени", "операционные системы реального времени" известны всем, но толкуются они часто по- разному и спектр этих толкований очень широк. Количество иллюзий и мифов в мире реального времени велико. Например, часто путают такие понятие, как "реальное время" и "скорость". Иногда полагают, что применение операционной системы реального времени автоматически разрешит все проблемы создания надежной предсказуемой системы.