Автор: Пользователь скрыл имя, 20 Марта 2012 в 13:03, реферат
Задачи реального времени составляют одну из сложнейших и крайне важных областей применения вычислительной техники. Как правило, они связаны с контролем и управлением процессами, являющимися неотъемлемой частью современной жизни. Управление прокатными станами, роботами, движение на автомагистралях, контроль за состоянием окружающей среды, управление атомными и космическими станциями и многое другое - область задач реального времени. Эти задачи предъявляют такие требования к аппаратному и программному обеспечению, как
А. А. Блискавицкий, С. В. Кабаев,
ЗАО "РТСофт" |
Введение |
Задачи реального времени составляют одну из сложнейших и крайне важных областей применения вычислительной техники. Как правило, они связаны с контролем и управлением процессами, являющимися неотъемлемой частью современной жизни. Управление прокатными станами, роботами, движение на автомагистралях, контроль за состоянием окружающей среды, управление атомными и космическими станциями и многое другое - область задач реального времени. Эти задачи предъявляют такие требования к аппаратному и программному обеспечению, как надежность, высокая пропускная способность передающей среды в распределенных системах, своевременная реакция на внешние события и т.д. Для выполнения этих требований и создаются системы реального времени, аппаратное и программное обеспечение которых рассмотрено ниже. |
Аппаратное обеспечение |
При выборе аппаратного обеспечения
систем реального времени |
В обзоре современных открытых стандартов для построения интегрированных измерительных и управляющих систем реального времени (автор А.Н. Рыбаков), приведенном в начале данного выпуска, убедительно показана лидирующая роль шины VMEbus. |
В данном обзоре VMEbus (и ММС вообще) интересует нас как наиболее эффективное аппаратное решение для задач реального времени. И при рассмотрении операционных систем (ОС) в первую очередь необходимо обратить внимание на те, которые наиболее подходят для работы в VME-системах. |
В настоящее время в условиях доступности совместимых аппаратных средств основное внимание уделяется разработке и отладке прикладного программного обеспечения, чья доля в затратах на разработку систем реального времени составляет до 70%. |
Базовые понятия программного обеспечения реального времени |
Любая ОС обязана обеспечить полный цикл жизни программного обеспечения: создание текста программы, ее компиляция, компоновка, отладка, исполнение, сопровождение. Задачи реального времени предъявляют свои требования к вычислительно-управляющим системам, в том числе к ОС, в которых реализовано программное обеспечение реального времени. Эти требования изложены в стандарте POSIX 1003.4 рабочего комитета IEEE [3-7]. Стандарт определяет ОС как систему реального времени, если она обеспечивает требуемый уровень сервиса за вполне определенное, ограниченное время. То есть ОС реального времени должна быть предсказуемой. Правильная, но запоздалая реакция системы на внешнее событие может быть гибельной в системах безопасности атомных станций, системах управления воздушными транспортными потоками и т.д. При этом важно не только абсолютное время реакции системы, но и то, что оно определено заранее. В системе управления прокатным станом время реакции системы должно быть в пределах нескольких миллисекунд, а в системе контроля за окружающей средой - несколько минут. Но тем не менее оба эти примера - из области задач реального времени. Возникает вопрос, можно ли задачи реального времени решать с помощью систем общего назначения (MS-DOS, UNIX и т.д.)? Главное требование, предъявляемое к системам общего назначения, заключается в том, что они должны обеспечить оптимальное разделение всех ресурсов между всеми процессами. Соответственно, не должно быть высокоприоритетных задач, которые использовали бы какой-либо ресурс системы столько, сколько им необходимо. Надо все же учесть, что так или иначе, разработчики ОС достигают компромисса между механизмом приоритетности и упомянутым требованием. |
UNIX стал de-facto стандартом ОС общего назначения. Он реализован и на микро-, и на суперкомпьютерах. Многие международные программные стандарты и соглашения основаны на UNIX: POSIX, SVID (UNIX System V Interface Definitions), BSD 43 UNIX Socket и т.д. Однако ОС UNIX, разработанная как система общего назначения, не имеет эффективного механизма приоритетности задач и поэтому мало пригодна для задач реального времени. В то же время многие ОС реального времени можно охарактеризовать как UNIX-подобные. |
MS-DOS, в принципе, можно
было бы использовать в |
|
|
|
Становится очевидным
то, что задачи реального времени
необходимо реализовывать в рамках
специфической системной |
1-й класс: программирование
на уровне микропроцессоров. При
этом программы для |
2-й класс: минимальное
ядро системы реального |
3-й класс: ядро системы
реального времени и |
4-й класс: ОС с полным сервисом. Такие ОС могут быть применены для любых приложений реального времени. Разработка и исполнение прикладных программ ведутся в рамках одной и той же системы. |
Системы 2 и 3 классов принято называть системами "жесткого" реального времени, а 4 класса - "мягкого". Очевидно, это можно объяснить тем, что в первом случае к системе предъявляются более жесткие требования по времени реакции и необходимому объему памяти, чем во втором. Как мы видим, среда разработки и среда исполнения в системах реального времени могут быть разделены, а требования, предъявляемые к ним, весьма различны. Рассмотрим их более подробно. |
Среда исполнения |
Требования, предъявляемые к среде исполнения систем реального времени, следующие: |
|
|
|
|
|
Сочетание описанных выше свойств создает мощную и эффективную среду исполнения в реальном времени. |
Кроме свойств среды исполнения, необходимо рассмотреть также сервис, предоставляемый ядром ОС реального времени. Основой любой среды исполнения в реальном времени является ядро или диспетчер. Ядро управляет аппаратными средствами целевого компьютера: центральным процессором, памятью и устройствами ввода/вывода; контролирует работу всех других систем и программных средств прикладного характера. В системе реального времени диспетчер занимает место между аппаратными средствами целевого компьютера и прикладным программным обеспечением. Он обеспечивает специальный сервис, необходимый для работы приложений реального времени. Предоставляемый ядром сервис дает прикладным программам доступ к таким ресурсам системы, как, например, память или устройства ввода/вывода. |
Ядро может обеспечивать сервис пяти типов: |
Синхронизация ресурсов. Метод
синхронизации требует |
Межзадачный обмен. Часто необходимо обеспечить передачу данных между программами внутри одной и той же системы Кроме того, во многих приложениях возникает необходимость взаимодействия с другими системами через сеть. Внутренняя связь может быть осуществлена через систему передачи сообщений. Внешнюю связь можно организовать либо через датаграмму (наилучший способ доставки), либо по линиям связи (гарантированная доставка). Выбор того или иного способа зависит от протокола связи. |
Информация о работе Операционные системы реального времени (обзор)