Автор работы: Пользователь скрыл имя, 02 Ноября 2012 в 18:39, контрольная работа
Вопрос 1. Дайте определение системы реального времени.
В настоящее время в документах и публикациях с различной тематикой встречаются слова о требовании, поддержке и т.д. работы в режиме реального времени, режима реального времени или просто реального времени. Что же такое режим реального времени применительно к компьютерным системам? Постараемся представить различные современные точки зрения на это понятие.
Контрольная работа №1 по дисциплине «Системы реального времени»
Вариант 1.
Вопрос 1. Дайте определение системы реального времени.
В настоящее время в документах и публикациях с различной тематикой встречаются слова о требовании, поддержке и т.д. работы в режиме реального времени, режима реального времени или просто реального времени. Что же такое режим реального времени применительно к компьютерным системам? Постараемся представить различные современные точки зрения на это понятие.
I. Толковый словарь по вычислител
Эта, уже далеко не новая по меркам компьютерного мира книга, дает такое определение (стр. 399):
R.052 real-time system - система реального времени (СРВ) - любая система, в которой существенную роль играет время генерации выходного сигнала. Это обычно связано с тем, что входной сигнал соответствует каким-то изменениям в физическом процессе, и выходной сигнал должен быть связан с этими же изменениями. Временная задержка от получения входного сигнала до выдачи выходного сигнала должна быть небольшой, чтобы обеспечить приемлемое время реакции. Время реакции является системной характеристикой: при управлении ракетой требуется реакция в течение нескольких миллисекунд, тогда как для диспетчерского управления движением пароходов требуется время реакции, измеряемое днями. Системы обычно считаются системами реального времени, если время их реакции имеет порядок миллисекунд; диалоговыми считаются системы с временем реакции порядка нескольких секунд, а в системах пакетной обработки время реакции измеряется часами или днями. Примерами систем реального времени являются системы управления физическими процессами с применением вычислительных машин, системы торговых автоматов, автоматизированные системы контроля и автоматизированные испытательные комплексы.
II. Толковый словарь по
В этом словаре дается такое определение
(стр. 335):
Режим реального времени [real time processing].
Режим обработки данных, при котором обеспечивается
взаимодействие вычислительной системы
с внешними по отношению к ней процессами
в темпе, соизмеримом со скоростью протекания
этих процессов.
Существует несколько
Системой реального времени
является такая система, корректность
функционирования которой определяется
не только корректностью выполнения
вычислений, но и временем, в которое
получен требуемый результат. Если
требования по времени не выполняются,
то считается, что произошел отказ системы.
Другие добавляют: Поэтому необходимо,
чтобы было гарантировано [аппаратными
и программными средствами и алгоритмами
обработки] выполнение требований по времени.
Гарантия выполнения требований по времени
необходима, чтобы поведение системы было
предсказуемо. Также желательно, чтобы
система обеспечивала высокую степень
использования ресурсов, чтобы удовлетворять
требованиям по времени [с минимальными
затратами].
Хорошим примером является робот, который должен брать что-либо с ленты конвейера. Объекты на конвейере движутся, и робот имеет некоторый небольшой интервал времени для того, чтобы схватить объект. Если робот опоздает, то объекта уже не будет на месте, и поэтому работа будет неверной, даже если робот [переместил захват] в правильное положение. Если робот поспешит, то объекта там еще не будет, более того, робот может заблокировать движение объектов.
Другой пример - цикл управления самолетом, летящим на автопилоте. Датчики самолета должны постоянно передавать измеренные данные в управляющий компьютер. Если данные измерений теряются, то качество управления самолетом падает, возможно, вместе с самолетом.
Давид Сонниер (David Sonnier (mailto:dps@devnull.mpd.
в примере с роботом имеем настоящий, жесткий режим реального времени (hard real time), и если робот опоздает, то это приведет к полностью ошибочной операции. Однако это мог бы быть режим квазиреального времени (soft real time), если бы опоздание робота приводило бы только к потере производительности. Многое из того, что сделано в области программирования в реальном времени, в действительности работает в режиме квазиреального времени. Грамотно разработанные системы, как правило, имеют уровень безопасности/коррекции поведения даже для случая, когда вычисления не закончились в необходимый момент, так что если компьютер чуть-чуть не успевает, то это может быть скомпенсировано.
Из приведенных выше цитат и определений можно сделать выводы:
Для того, чтобы система могла удовлетворить требованиям, предъявляемым к системам реального времени, аппаратные, программные средства и алгоритмы работы системы должны гарантировать заданные временные параметры реакции системы. Время реакции не обязательно должно быть очень маленьким, но оно должно быть гарантированным (и отвечающим поставленным требованиям);
Системы жёсткого и мягкого реального времени
Системы реального времени бывают двух типов - системы жесткого реального времени и системы мягкого реального времени. Системы жёсткого реального времени не допускают задержек реакции системы, так как это может привести к:
потере актуальности результатов;
человеческим жертвам;
чрезмерно большим финансовым потерям.
Если не выполняется обработка критических ситуаций либо она происходит недостаточно быстро, система жёсткого реального времени прерывает операцию и блокирует её, чтобы не пострадала надёжность и готовность остальной части системы. Примерами систем жёсткого реального времени могут быть - системы управления бортового оборудования, системы аварийной защиты, регистраторы аварийных событий.
Системы мягкого реального
времени характеризуются
Основное отличие системам жёсткого и мягкого реального времени можно охарактеризовать так: система жёсткого реального времени никогда не опоздает с реакцией на событие, система мягкого реального времени - не должна опаздывать с реакцией на событие. Обозначим операционной системой реального времени такую систему, которая может быть использована для построения систем жёсткого реального времени. Это определение выражает отношение к ОСРВ как к объекту, содержащему необходимые инструменты, но также означает, что эти инструменты ещё необходимо правильно использовать.
Большинство программного обеспечения ориентировано на «мягкое» реальное время. Для подобных систем характерно:
гарантированное время реакции на внешние события (прерывания от оборудования);
жёсткая подсистема планирования процессов (высокоприоритетные задачи не должны вытесняться низкоприоритетными, за некоторыми исключениями);
повышенные требования к времени
реакции на внешние события или реактивнос
Классическим примером задачи, где требуется ОСРВ, является приведённый выше пример с роботом.
Вопрос 2. Расскажите о проблеме разделения ресурсов.
Многозадачным системам необходимо распределять доступ к ресурсам. Одновременный доступ двух и более процессов к какой либо области памяти или другим ресурсам представляет определённую угрозу. Существует 3 способа решения этой проблемы
Операционные системы (ОС) реального времени обычно не используют первый способ, потому, что пользовательское приложение не может контролировать ЦПУ столько сколько хочет. Однако, во многих встроенных системах и ОСРВ позволяется запускать приложения в режиме ядра для доступа к системным вызовам и дают контроль над окружением исполнения без вмешательства ОС.
На однопроцессорных системах наилучшим решением является приложение запущенное в режиме ядра, которому позволена блокирование прерываний. Пока прерывание заблокировано, приложение использует ресурсы процесса единолично, никакая другая задача или прерывание не может выполняться, таким образом, защищаются все критичные ресурсы. После того как приложение завершит критические действия оно должно разблокировать прерывания, если таковые имеются. Временное блокирование прерывания позволено только тогда, когда самый долгий промежуток выполнения критической секции, меньше чем допустимое время реакции на прерывание. Обычно этот метод защиты используется только когда длина критического кода не превышает нескольких строк и не содержит циклов. Этот метод идеально подходит для защиты регистров.
Когда длина критического участка больше максимальной или содержит циклы, программист должен использовать механизмы идентичные или имитирующие поведение систем общего назначения, такие как семафоры и посылка сигналов.
Операционная система ChorusOS – это масштабируемая встраиваемая ОС, широко применяемая в телекоммуникационной индустрии. В настоящее время этот бренд развивается и распространяется корпорацией Sun Microsystems [CHORUSOS]. Для компоновки и развертывания ОС ChorusOS на конкретных телекоммуникационных платформах Sun Microsystems предлагает использовать среду разработки Sun Embedded Workshop. Корпорация Sun Microsystems представляет ОС ChorusOS как встраиваемую основу для Sun’овской сети, управляемой сервисами (Sun's Service-Driven Network). В сочетании с широким набором сервисов, полной интеграцией ПО и аппаратуры, удобным администрированием и поддержкой Java-технологии, которая посвящена нуждам телекоммуникации, ОС ChorusOS дает возможность эффективно развертывать новые возможности и приложения, поддерживая надежность и функциональность современных сетей.
ОС ChorusOS поддерживает на одной аппаратной платформе широкий набор телекоммуникационных протоколов, унаследованных приложений, приложений режима реального времени и Java-технологии.
ОС ChorusOS моделирует три сорта приложений:
Архитектура ОС ChorusOS является многослойной, основанной на компонентах (component-based). Микроядро содержит минимальный набор компонентов, необходимых для функционирования ОС