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

Автор работы: Пользователь скрыл имя, 02 Ноября 2012 в 18:39, контрольная работа

Краткое описание

Вопрос 1. Дайте определение системы реального времени.
В настоящее время в документах и публикациях с различной тематикой встречаются слова о требовании, поддержке и т.д. работы в режиме реального времени, режима реального времени или просто реального времени. Что же такое режим реального времени применительно к компьютерным системам? Постараемся представить различные современные точки зрения на это понятие.

Вложенные файлы: 1 файл

контрольная 1.doc

— 79.00 Кб (Скачать файл)

Контрольная работа №1 по дисциплине «Системы реального времени»

Вариант 1.

Вопрос 1. Дайте определение системы реального времени.

В настоящее время в документах и публикациях с различной  тематикой встречаются слова  о требовании, поддержке и т.д. работы в режиме реального времени, режима реального времени или просто реального времени. Что же такое режим реального времени применительно к компьютерным системам? Постараемся представить различные современные точки зрения на это понятие.

I. Толковый словарь по вычислительным системам/Под ред. В. Илленгуорта и др.: пер. С англ.,: - М.: Машиностроение, 1989.

Эта, уже далеко не новая по меркам компьютерного мира книга, дает такое  определение (стр. 399):

R.052 real-time system - система реального времени (СРВ) - любая система, в которой существенную роль играет время генерации выходного сигнала. Это обычно связано с тем, что входной сигнал соответствует каким-то изменениям в физическом процессе, и выходной сигнал должен быть связан с этими же изменениями. Временная задержка от получения входного сигнала до выдачи выходного сигнала должна быть небольшой, чтобы обеспечить приемлемое время реакции. Время реакции является системной характеристикой: при управлении ракетой требуется реакция в течение нескольких миллисекунд, тогда как для диспетчерского управления движением пароходов требуется время реакции, измеряемое днями. Системы обычно считаются системами реального времени, если время их реакции имеет порядок миллисекунд; диалоговыми считаются системы с временем реакции порядка нескольких секунд, а в системах пакетной обработки время реакции измеряется часами или днями. Примерами систем реального времени являются системы управления физическими процессами с применением вычислительных машин, системы торговых автоматов, автоматизированные системы контроля и автоматизированные испытательные комплексы.

II. Толковый словарь по информатике.  Першиков В.И., Савинков В.М. М.: Финансы и статистика, 1991.

В этом словаре дается такое определение (стр. 335):  
Режим реального времени [real time processing]. Режим обработки данных, при котором обеспечивается взаимодействие вычислительной системы с внешними по отношению к ней процессами в темпе, соизмеримом со скоростью протекания этих процессов.

Существует несколько определений  термина реальное время, многие из них противоречивые. К сожалению, это спорная тема, и здесь не существует стопроцентной договоренности о терминах.

  • Каноническое определение системы реального времени дано Дональдом Гиллиесом (Donald Gillies, mailto:gillies@ee.ubc.ca) и выглядит так:

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

Хорошим примером является робот, который  должен брать что-либо с ленты конвейера. Объекты на конвейере движутся, и робот имеет некоторый небольшой интервал времени для того, чтобы схватить объект. Если робот опоздает, то объекта уже не будет на месте, и поэтому работа будет неверной, даже если робот [переместил захват] в правильное положение. Если робот поспешит, то объекта там еще не будет, более того, робот может заблокировать движение объектов.

Другой пример - цикл управления самолетом, летящим на автопилоте. Датчики самолета должны постоянно передавать измеренные данные в управляющий компьютер. Если данные измерений теряются, то качество управления самолетом падает, возможно, вместе с самолетом.

Давид Сонниер (David Sonnier (mailto:dps@devnull.mpd.tandem.com) отметил следующую особенность:

в примере с роботом имеем настоящий, жесткий режим реального времени (hard real time), и если робот опоздает, то это приведет к полностью ошибочной операции. Однако это мог бы быть режим квазиреального времени (soft real time), если бы опоздание робота приводило бы только к потере производительности. Многое из того, что сделано в области программирования в реальном времени, в действительности работает в режиме квазиреального времени. Грамотно разработанные системы, как правило, имеют уровень безопасности/коррекции поведения даже для случая, когда вычисления не закончились в необходимый момент, так что если компьютер чуть-чуть не успевает, то это может быть скомпенсировано.

  • Бывает, что термин система реального времени применяют в значении интерактивная система (on-line). Часто это просто рекламный ход. Например, системы заказа билетов или системы складского учета не являются системами реального времени, так как человек-оператор без проблем перенесет задержку ответа на несколько сотен миллисекунд.
  • Также можно встретить случаи, когда термин система реального времени применяют просто в значении быстродействующая система. Необходимо отметить, что определение реального времени не является синонимом для определения быстродействующая. Еще раз: термин система реального времени не означает, что система дает ответ на воздействие мгновенно - задержка может достигать секунд и более - но означает тот факт, что гарантируется некоторая максимальная возможная величина задержки ответа, что позволяет системе решать поставленную задачу. Необходимо также отметить, что алгоритмы, обеспечивающие гарантированное время ответа, часто имеют меньшую среднюю производительность, чем алгоритмы, которые не гарантируют время ответа.
  • Иногда можно увидеть обсуждения, в которых сравниваются системы квазиреального и реального времени (soft vs. hard real-time systems). В большинстве этих дискуссий термин реальное время используется в смысле, который был приведен выше, а термин квазиреальное время (soft real-time) используется для обозначения систем, которые имеют пониженные требования к [конкретной] величине задержки [ответа] (lateness), но которые должны работать очень быстро и регулярно, повторяемо (repeatably). Однако такое определение спорно, так как определения реальное и квазиреальное (hard and soft real time) могут быть восприняты как показатели степени временных ограничений.

Из приведенных выше цитат и определений можно сделать выводы:

  • термин система реального времени в настоящее время может быть записан так: Системой реального времени является такая система, корректность функционирования которой определяется не только корректностью выполнения вычислений, но и временем, в которое получен требуемый результат. Если требования по времени не выполняются, то считается, что произошел отказ системы.

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

  • использование термина система реального времени, определенного выше, для обозначения интерактивных и высокопроизводительных систем неверно;
  • термин квазиреальное время (soft real-time) хотя и используется, но четко не определен. До его четкого определения вряд ли возможно его применение в документах (кроме рекламных).

Системы жёсткого и мягкого  реального времени

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

потере актуальности результатов;

человеческим жертвам;

чрезмерно большим финансовым потерям.

Если не выполняется обработка  критических ситуаций либо она происходит недостаточно быстро, система жёсткого реального времени прерывает  операцию и блокирует её, чтобы  не пострадала надёжность и готовность остальной части системы. Примерами систем жёсткого реального времени могут быть - системы управления бортового оборудования, системы аварийной защиты, регистраторы аварийных событий.

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

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

Большинство программного обеспечения  ориентировано на «мягкое» реальное время. Для подобных систем характерно:

гарантированное время реакции на внешние события (прерывания от оборудования);

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

повышенные требования к времени  реакции на внешние события или реактивности (задержка вызова обработчика прерывания не более десятков микросекунд, задержка при переключении задач не более сотен микросекунд)

Классическим примером задачи, где  требуется ОСРВ, является приведённый выше пример с роботом.

 

 

Вопрос 2. Расскажите о  проблеме разделения ресурсов.

 

Многозадачным системам необходимо распределять доступ к ресурсам. Одновременный  доступ двух и более процессов  к какой либо области памяти или  другим ресурсам представляет определённую угрозу. Существует 3 способа решения этой проблемы

  • Временное блокирование прерываний
  • Двоичные семафоры
  • Посылка сигналов

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

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

Когда длина критического участка больше максимальной или содержит циклы, программист должен использовать механизмы идентичные или имитирующие поведение систем общего назначения, такие как семафоры и посылка сигналов.

Вопрос 3.  Подготовьте более подробный отчёт об ОСРВ CHORUS

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

ChorusOS

Операционная система ChorusOS – это масштабируемая встраиваемая ОС, широко применяемая в телекоммуникационной индустрии. В настоящее время этот бренд развивается и распространяется корпорацией Sun Microsystems [CHORUSOS]. Для компоновки и развертывания ОС ChorusOS на конкретных телекоммуникационных платформах Sun Microsystems предлагает использовать среду разработки Sun Embedded Workshop. Корпорация Sun Microsystems представляет ОС ChorusOS как встраиваемую основу для Sun’овской сети, управляемой сервисами (Sun's Service-Driven Network). В сочетании с широким набором сервисов, полной интеграцией ПО и аппаратуры, удобным администрированием и поддержкой Java-технологии, которая посвящена нуждам телекоммуникации, ОС ChorusOS дает возможность эффективно развертывать новые возможности и приложения, поддерживая надежность и функциональность современных сетей.

ОС ChorusOS поддерживает на одной аппаратной платформе широкий набор телекоммуникационных протоколов, унаследованных приложений, приложений режима реального времени и Java-технологии.

ОС ChorusOS моделирует три сорта приложений:

  • POSIX-процессы составляют большинство приложений ChorusOS; эти приложения имеют доступ к чисто POSIX API, нескольким POSIX-подобным расширенным API и небольшому числу ограниченных системных вызовов микроядра,
  • Акторы ChorusOS – эти приложения выполняются над микроядром и ограничиваются API микроядра, акторы включают драйверы, события подсистем и протокольные стеки,
  • Унаследованные приложения ChorusOS поддерживаются для совместимости с приложениями, разработанными для более ранних версий ChorusOS.

Архитектура ОС ChorusOS является многослойной, основанной на компонентах (component-based). Микроядро содержит минимальный набор компонентов, необходимых для функционирования ОС

  • kern – реализует интерфейс микроядра и содержит актор KERN, вспомогательную библиотеку и заголовочные файлы,
  • менеджер приватных данных (pd) реализует интерфейс между подсистемами микроядра,
  • менеджер постоянной памяти (pmm) реализует интерфейс постоянной памяти,
  • core executive обеспечивает существенную часть поддержки реального времени.

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