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

Автор работы: Пользователь скрыл имя, 31 Октября 2010 в 11:01, Не определен

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

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

Файлы: 1 файл

ОСРВ.doc

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

Оглавление

1. Общее описание  операционных систем  реального времени

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

   Основными ресурсами являются процессор (процессорное время), оперативная память и периферийные устройства.

   Управление  ресурсами сводится к выполнению следующих задач: упрощение доступа к ресурсам, распределение их между процессами.

   Решение первой задачи позволяет "спрятать" аппаратные особенности вычислительной системы, и тем самым предоставить в распоряжение пользователю или  программисту виртуальную машину с  существенно облегченным управлением. Таким образом, ОС поддерживает следующие интерфейсы: пользовательский (командный язык для управления функционированием системы и набор сервисных услуг); программный (набор услуг, освобождающий программиста от кодирования рутинных операций).Функция распределения ресурсов является одной из наиболее важных задач, решаемых ОС, однако она присуща не всем ОС, а только тем, которые обеспечивают одновременное выполнение нескольких программ (процессов).

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

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

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

В соответствии с первым признаком различаются  одно- и многопользовательские ОС.

Второй признак  делит ОС на одно- и многозадачные.

В соответствии с третьим признаком ОС делятся  на:

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

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

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

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

1.1 Что такое система  реального времени

   В последнее  время все чаще приходится сталкиваться с задачами, требующими управления сложными процессами или оборудованием при помощи ЭВМ. При этом все события в этих процессах происходят тогда, когда они происходят. Компьютер же может выполнять лишь конечное число операций в конечное время, поэтому возникает вопрос: а успеет ли компьютер с нужной скоростью обсчитать ситуацию и выдать конкретные управляющие действия, которые были бы адекватны именно в определенный момент времени. На мой взгляд, проблемы подобного рода возникли из-за использования очень больших скоростей в современном производстве. Ясно, что сигналы в природе распространяются с конечной скоростью, скорость работы тоже конечна, поэтому мгновенных действий (вызванных неким событием) от компьютера ожидать принципиально невозможно. Ведь каким бы современным (читай - мощным по производительности, т.е. высокой скоростью обработки команд и операций) компьютер бы ни был - ему физически нужны хотя бы доли секунды, чтобы выполнить небольшую простую группу команд, а иногда этого времени слишком много. Таким образом, время реакции системы на некоторое событие строго больше нуля. Реальные задачи допускают некоторого запаздывания действий, и если система имеет время реакции меньше, чем эта допустимая задержка, то ее справедливо называть системой реального времени. Так как в природе разные процессы протекают с разной скоростью, одна и таже система может укладываться в заданные рамки для одного процесса и не укладываться для другого. Таким образом, о системе реального времени имеет смысл говорить применительно к конкретной задаче. Например, чтобы построить зависимость средней температуры воздуха за день от дня недели в качестве системы реального времени сойдет практически любой компьютер с практически любым ПО. Если же мы управляем посадкой самолета, где существенную роль играют миллисекунды, было бы более правильно внимательно выбирать аппаратное и программное обеспечение.

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

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

   Точного определения мягкого реального времени не существует, поэтому можно отнести сюда все СРВ, не подпадающие под категорию жестких. Так, система мягкого реального времени может не успевать все делать в заданное время, поэтому возникает проблема определения критериев успешности (нормальности) ее функционирования.

   Кроме того, СРВ можно разделить на системы специализированные и универсальные.  

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

1.2 Основные требования  к СРВ

  • возможность параллельного выполнения нескольких задач;
  • предсказуемость;
  • важно максимальное (не среднее) время отклика на событие;
  • особые требования в вопросах безопасности;
  • возможность безотказной работы в течение длительного времени.

1.3 Общие характеристики  СРВ

  • большие и  сложные системы;
  • распределенные системы;
  • жесткое взаимодействие с аппаратурой;
  • выполнение задач зависит от времени;
  • сложность тестирования.
 

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

1.4 Способы использования ОС

Классическая  ОС. Win NT, Linux и Unix.

Классическая  ОС с расширением РВ (Win NT - RTX, RT Linux, RT Unix)

Коммерческая  ОС. Примером могут служить такие  системы как VxWorks, OS9 и т.п. Необходимо отметить, что такие системы очень  дорогие. Например, стоимость полного пакета ОС VxWorks (Tornado 1.0) в 2002 году составляла около 15 000 долларов США. Впрочем, с годами такая система значительно дешевеет - сегодня ее стоимость составляет около 10 000 долларов (Tornado версии 2.0 и выше - полная стоимость зависит от выбираемых компонентов).

   Для более  детального рассмотрения возможностей ОСРВ представлены ориентировочные  цифры, дающее представление о порядке  времени реакции и подходящих операционных системах. Данная таблица  сформирована на основании экспериментальных данных, полученных на базе вычислительных комплексов, построенных на основе процессоров Intel 80486DX. Безусловно, данный процессор на сегодняшний день является устаревшим, но можно сделать выводы об уровне реакции на внешние события различных систем  

РВ.Время  реакции Использованные  ОС
Менее 10 мкс Только ОСРВ, но даже они могут быть бессильны
10 - 100 мкс Операционные  системы реального времени
100 мкс - 1 мс ОСРВ, RTAI, RT- UNIX и LINUX, расширения реального времени  для Windows NT, CE
1 мс Можно пытаться делать что-то с Linux и Windows NT, но не для  систем, где опоздания реакции  могут привести к тяжелым последствиям
 

   Из  таблицы видно, что временные  рамки ОСРВ достаточно жесткие. Среди  современных операционных систем есть класс продуктов, разработанных специально для построения систем жесткого реального времени - VxWorks, OS9, QNX, LynxOS, OSE и другие. Эти системы содержат необходимый набор инструментов, и в некоторых случаях являются единственным выбором - на него приходится идти, невзирая на затраты. Однако достаточно часто требования к реальному времени (полная предсказуемость времени реакции) становятся менее жесткими, например, необходимо добиться только нужной средней производительности.

   Иногда  достаточно жестко контролировать только одно из событий, допуская при этом задержки реакций на остальные. В подобных случаях возможности выбора расширяются, и желаемых результатов можно достичь, используя такие широко распространенные операционные системы как LINUX, Windows NT, Windows CE, дополняя их расширениями реального времени (RTAI, RT LINUX, RTX).

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