на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка системы реального времени в виде планировщика исполнения заданий
p align="left">· Она должна успеть отреагировать на событие, произошедшее на объекте, в течение времени, критического для этого события (meet deadline). Величина критического времени для каждого события определяется объектом и самим событием, и, естественно, может быть разной, но время реакции системы должно быть предсказано (вычислено) при создании системы. Отсутствие реакции в предсказанное время считается для СРВ ошибкой.

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

По последствиям выхода за пределы интервала СРВ делятся на мягкие и жёсткие.

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

· результаты могут оказаться бесполезны в случае опоздания;

· может произойти катастрофа в случае задержки реакции;

· стоимость опоздания может оказаться бесконечно велика.

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

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

В таблице 3 приведены времена отклика для нескольких ОС РВ.

1.1.2. Статическая основа проектирования.

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

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

1.1.3. Портирование.

Управление прокатными станами, роботами, движение на автомагистралях, контроль за состоянием окружающей среды, управление атомными и космическими станциями и многое другое - область задач реального времени. Для различных областей применения ОС РВ существуют разные аппаратные платформы и для каждой необходимо портирование, т.е процесс «состыковки» программной части ОС и её аппаратного обеспечения.

При выборе аппаратной платформы для систем реального времени основополагающими моментами являются жесткие требования к временным характеристикам и гибкости системы. Требования к аппаратному обеспечению в настоящее время довольно чётко определены. Большинство проектов реального времени осуществляется в рамках архитектурных решений магистрально-модульных систем (ММС).

Однако, как бы ни была важна сама ОС РВ, сейчас в условиях доступности совместимых аппаратных средств основное внимание уделяется разработке и отладке прикладного программного обеспечения, чья доля в затратах на разработку систем реального времени составляет до 70%.

По среде в которой функционируют системы их можно разделить на классы: программирование на уровне микроконтроллеров, минимальное ядро СРВ, ядро СРВ и инструментальная среда, ОС с полным сервисом.

1.1.4. Встроенные системы реального времени.

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

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

По структурным характеристикам программно-аппаратные комплексы можно разделить на классы: исполнительные системы реального времени, ядра реального времени, Unix'ы реального времени.

1.1.5. Вывод.

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

1.2. Особенности управления задачами.

1.2.1. Управление временем.

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

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

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

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

· генерировать прерывания по истечении временных интервалов,

· создавать разовые и циклические будильники.

1.2.2. Управление памятью.

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

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

1.2.3. Управление доступом (синхронизация).

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

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

1.2.4. Вывод.

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

1.3. Классификация систем реального времени.

Количество операционных систем реального времени, несмотря на их специфику, очень велико. В обзоре журнала "Real-Time Magazine" ещё за март 97 года было упомянуто около шестидесяти систем. За прошедшие годы этих систем стало ещё больше. Если же добавить к их числу некоммерческие операционные системы реального времени, то мы получим вполне солидное число, отражающее заинтересованность современного общества в подобных системах. Однако сама специфика применения операционных систем реального времени требует гарантий надежности, причем гарантий в том числе и юридических - этим, видимо, можно объяснить тот факт, что среди некоммерческих систем реального времени нет сколько-нибудь популярных.

На рис. 5 дано компактное представление классификации систем по трём различным признакам: класс (отсутствие РВ, мягкое РВ, жесткое РВ), сложность (одноадресное пространство, многоадресное/защищенное), стандартизация (частное решение, подмножество POSIX, только POSIX, UNIX и POSIX).

1.3.1. Классификация по структурным характеристикам.

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

1.3.1.1. Исполнительные системы реального времени.

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

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

С этим главным достоинством связан и ряд недостатков: зависание всей системы при зависании нити, проблемы с динамической подгрузкой новых приложений.

Кроме того, системы разработки для продуктов этого класса традиционно дороги (порядка $20000). Хотя, надо отметить, что качество и функциональность систем разработки в этом классе традиционно хороши, так как они были изначально кроссовыми.

Наиболее ярким представителем систем этого класса является операционная система VxWorks. Область применения - компактные системы реального времени с хорошими временами реакций.

1.3.1.2. Ядра реального времени

В этот класс входят системы с монолитным ядром, где и содержится реализация всех механизмов реального времени этих операционных систем. Исторически системы этого типа были хорошо спроектированы. В отличие от систем других классов, которые появлялись как временные компромиссы и затем "наращивали мускулы" благодаря первым удачным реализациям (исполнительные системы реального времени и UNIX'ы реального времени), разработчики систем этого класса имели время для разработки систем именно реального времени и не были изначально ограничены в выборе средств (например фирма "Microware" имела в своем распоряжении три года для разработки первого варианта OS-9).

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

Как правило, ядра реального времени имеют два типа систем разработки - кроссовую и резидентную.

Системы этого класса, как правило, модульны, хорошо структурированы, имеют наиболее развитый набор специфических механизмов реального времени, компактны и предсказуемы. Наиболее популярные системы этого класса: OS9, QNX.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.