Важная информация
Показано с 1 по 1 из 1

Тема: Операционные системы реального времени. Введение

  1. #1 Операционные системы реального времени. Введение 
    Новичок
    Регистрация
    25.11.2018
    Сообщений
    1
    Сказал(а) спасибо
    0
    Поблагодарили 1 раз в 1 сообщении
    Подготовил небольшую статью-введение по ОС РВ.

    • План
    1. Системы реального времени – определение.
    2. Операционные системы реального времени – понятие, краткая классификация.
    3. Задачи ОС РВ. Классификация и основные свойства.
    4. Планирование и синхронизация задач.

    • Системы реального времени – определение.
    Вычислительные системы используются для анализа данных и проведения различных расчётов. И зачастую нас интересует не только то, чтобы расчёты были проведены логически грамотно, но и то, чтобы они были проведены вовремя. Требования ко времени исполнения могут быть различными и зависят исключительно от поставленной задачи. Например, в реактивных самолетах, летающих на сверхнизких высотах, необходим датчик разреженного воздуха. При резком разрежении воздуха в предгрозовых зонах данный датчик отвечает за включение двигателей в режиме форсажа. Время отклика системы не должно превышать 0,5-1 секунды, иначе при прохождении самолета в предгрозовую зону неизбежно падение самолета. (пилоты в ручном режиме управления самолетом среагировать на ситуацию не успевают). В другой же ситуации, например, для решения задачи коммивояжёра в условиях изменяющейся загруженности дорог приемлемым временем работы программы может быть промежуток в несколько минут.
    Системой реального времени называется вычислительная система, корректность работы которой определяется в равной мере правильностью и своевременностью решения. Считается, что система работает в режиме реального времени, если её быстродействие соответствует скорости протекания физических (природных) процессов на объектах контроля управления.
    Исходя из определения, почти любая система промышленной автоматизации является системой реального времени. Отмечу ещё раз, что для нас имеет значение лишь соответствие быстродействия скорости процесса, при этом абсолютное время тех или иных вычислений значения не имеет. Чем быстрее проходит физический процесс, чем быстрее нам необходимо среагировать на изменения окружающей среды, тем выше должно быть быстродействие системы.
    Системы реального времени разделить на «жёсткие» и «мягкие». В «жёстких» системах неспособность своевременно среагировать на какое-либо событие приводит к отказу систему и/или невозможности решения задачи. Примером «жёсткой» СРВ является рассмотренный ранее датчик разреженного воздуха. Критерий успешного функционирования такой СРВ можно определить однозначно: всё делать всегда в заданное время.
    К «мягким» системам реального времени относятся все остальные системы. Критерий успешного функционирования «мягкой» СРВ может варьироваться, например, это может быть максимальная задержка в выполнении какой-либо задачи.
    Основное различие между «жёсткими» и «мягкими» СРВ заключается в алгоритме планирования задач, который будет рассмотрен чуть позже.

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

    • Задачи ОС РВ. Классификация и основные свойства.
    Мы постепенно подходим к тому, чтобы выделить основную идею операционных систем реального времени – планированию. Для этого нам осталось лишь разобраться в том, что такое задачи в ОС.
    Под задачей ОС обычно понимают набор машинных инструкций, выполняющих в совокупности логически законченную функцию системы. Возвращаясь к примеру с датчиком разреженного воздуха, таким набором может быть определение состояния мембраны (чтобы это не значило). В задаче коммивояжёра в реальном времени таким набором может быть, например, функция, изменяющая исходные данные для расчётов.
    Принято разделять две разновидности задач – процессы и потоки. Это тема была ранее подробно разобрана, поэтому на ней мы останавливаться не будем, я лишь отмечу лишь основные свойства задач в ОС РВ:
    1. Приоритет
    Приоритет задачи – некое значение, характеризующее её важность по сравнению с другими задачами.
    2. Контекст задачи
    Контекст задачи – это набор данных, содержащий всю необходимую информацию для возобновления выполнения задачи с того места, где она была ранее прервана.
    3. Статус
    Статус – это состояние задачи. С точки зрения ОС задача может находиться в разных состояниях, полный список которых зависит от ОС. Основными и характерными для большинства ОС являются следующие состояния: активная задача, готовая задача, блокированная задача.
    4. Реентабильность.
    Означает возможность без негативных последствий временно прервать выполнение какой-либо функции или подпрограммы, а затем вызвать эту функцию или подпрограмму снова. Частным проявлением реентерабельности является рекурсия, когда тело подпрограммы содержит вызов самой себя. Типичной причиной нереентерабельности служит использование глобальных переменных.

    • Планирование и синхронизация задач.
    Данный параграф является основным в данном докладе. Дело в том, что одной из основных особенностей ОС РВ является метод планирования задач. Известны различные методы планирования задач, вот некоторые из них: циклический алгоритм, режим разделения времени, кооперативная многозадачность и приоритетная многозадачность с вытеснением. Последняя как раз наиболее характерная ОС РВ.
    Основная идея заключается в следующем: если в данный момент времени активной задачей является задача с низким приоритетом и некоторая задача с высоким приоритетом переходит в состояние «готовая», то ей немедленно передаётся управление. Такое «вытеснение» происходит, например, когда высокоприоритетная задача получила ожидаемое сообщение, освободился запрошенный ею ресурс, произошло связанное с ней внешнее событие, исчерпался заданный интервал времени и т. п.
    Почему никакие другие методы не подходят для данного типа систем? К этому выводу легко прийти исходя из их кратного описания. Циклический алгоритм предполагает выполнение задач в том порядке, в котором они получили статус «готова». Алгоритм разделения времени выделяет одинаковое количество времени всем имеющимся задачам. Кооперативная многозадачность предполагает, что активная задача передаёт управление следующей по собственной инициативе. Ясно, что ни один из этих методов не соответствует главному критерию успешного функционирования СРВ.
    Диапазон систем реального времени весьма широк, начиная от полностью статических систем, где все задачи и их приоритеты заранее определены, до динамических систем, где набор выполняемых задач, их приоритеты и даже алгоритмы планирования могут меняться в процессе функционирования.
    Отмечу, что разработчики, как правило, стараются свести свою систему реального времени к наиболее простым конфигурациям, характерным для систем «жесткого» реального времени, иногда даже в ущерб эффективности использования вычислительных ресурсов. Причина понятна: сложные динамические системы весьма трудно анализировать и отлаживать, поэтому лучше заплатить за более мощный процессор, чем иметь в будущем проблемы из-за непредвиденного поведения системы. В связи с этим большинство существующих систем реального времени представляют собой статические системы с фиксированными приоритетами. Часто в системе реализуется несколько «режимов» работы, каждый из которых имеет свой набор выполняемых задач с заранее заданными приоритетами.
    Хотя каждая задача в системе, как правило, выполняет какую-либо отдельную функцию, часто возникает необходимость в согласованности (синхронизации) действий, выполняемых различными задачами. Такая синхронизация необходима, в основном, в следующих случаях.
    Функции, выполняемые различными задачами, связаны друг с другом. Например, если одна задача подготавливает исходные данные для другой, то последняя не выполняется до тех пор, пока не получит от первой задачи соответствующего сообщения. Одна из вариаций в этом случае – это когда задача при определенных условиях порождает одну или несколько новых задач.
    Необходимо упорядочить доступ нескольких задач к разделяемому ресурсу.
    Необходима синхронизация задачи с внешними событиями. Как правило, для этого используется механизм прерываний.
    Необходима синхронизация задачи по времени. Диапазон различных вариантов в этом случае достаточно широк, от привязки момента выдачи какого-либо воздействия к точному астрономическому времени до простой задержки выполнения задачи на определенный интервал времени.
    Ответить с цитированием  
     

  2. Пользователь сказал cпасибо:

    Free Admin (26.11.2018)

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Синхронизация GSM модема по времени
    от Vital в разделе Общие вопросы про железо
    Ответов: 0
    Последнее сообщение: 17.01.2018, 17:15
  2. Ответов: 2
    Последнее сообщение: 03.08.2017, 13:11
  3. Система учета рабочего времени
    от Игнат Колядин в разделе Архив
    Ответов: 0
    Последнее сообщение: 03.05.2017, 13:47
  4. Ответов: 0
    Последнее сообщение: 24.04.2015, 13:59
  5. По законам военного времени
    от Максим Шилов в разделе Кино, литература
    Ответов: 0
    Последнее сообщение: 01.06.2014, 19:03
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •