Реферат: Разработка системы реального времени в виде планировщика исполнения заданий
Диаграмма 1. Этапы жизненного цикла разработки.
1. Обзор требований проблемной области.
1.1. Особенности систем реального времени.
Для начала стоит дать определение операционных систем реального времени. Оно взято из [13]. Данное определение не является классическим, однако обладает тем преимуществом, что позволяется в общих чертах представить себе отличия ОС, рассматриваемых в данной работе от других аналогичных программ.
Операционные системы реального времени (ОС РВ) — управляющее ПО особого типа, часто используемое для организации работы встроенных компьютерных приложений, для которых характерны ограниченность ресурсов памяти, невысокая производительность, а также требования гарантированного времени отклика, высокого уровня готовности и наличия средств автомониторинга.
А теперь рассмотрим упомянутое в определении более подробно.
1.1.1. Ограниченное время ответа.
По сути, система реального времени - это аппаратно-программный комплекс, реагирующий в предсказуемые времена на непредсказуемый поток внешних событий. Это означает, что:
· Она должна успеть отреагировать на событие, произошедшее на объекте, в течение времени, критического для этого события (meet deadline). Величина критического времени для каждого события определяется объектом и самим событием, и, естественно, может быть разной, но время реакции системы должно быть предсказано (вычислено) при создании системы. Отсутствие реакции в предсказанное время считается для СРВ ошибкой.
· Система должна успевать реагировать на одновременно происходящие события. Даже если два или больше внешних событий происходят одновременно, система должна успеть среагировать на каждое из них в течение интервалов времени, критического для этих событий.
По последствиям выхода за пределы интервала СРВ делятся на мягкие и жёсткие.
Системы жесткого реального времени не допускают никаких задержек реакции системы ни при каких условиях, так как:
· результаты могут оказаться бесполезны в случае опоздания;
· может произойти катастрофа в случае задержки реакции;
· стоимость опоздания может оказаться бесконечно велика.
Системы мягкого реального времени характеризуются тем, что задержка реакции не критична, хотя и может привести к увеличинию стоимости результатов и снижению производительности системы в целом.
Основное отличие между системами жесткого и мягкого реального времени можно выразить так: система жесткого реального времени никогда не опоздает с реакцией на событие, система мягкого реального времени - не должна опаздывать с реакцией на событие.
В таблице 3 приведены времена отклика для нескольких ОС РВ.
1.1.2. Статическая основа проектирования.
Кроме того, применение операционных систем реального времени всегда конкретно. Если ОС общего назначения обычно воспринимается пользователями (не разработчиками) как уже готовый набор приложений, то операционная система реального времени служит только инструментом для создания конкретного аппаратно-программного комплекса реального времени.
Для большинства СРВ предполагается, что основная часть обрабатываемых данных априорно известна. Поэтому наиболее широкий класс пользователей операционных систем реального времени - разработчики комплексов реального времени, люди проектирующие системы управления и сбора данных. Проектируя и разрабатывая конкретную систему реального времени, программист всегда знает точно какие события могут произойти на объекте, знает критические сроки обслуживания каждого из этих событий.
1.1.3. Портирование.
Управление прокатными станами, роботами, движение на автомагистралях, контроль за состоянием окружающей среды, управление атомными и космическими станциями и многое другое - область задач реального времени. Для различных областей применения ОС РВ существуют разные аппаратные платформы и для каждой необходимо портирование, т.е процесс «состыковки» программной части ОС и её аппаратного обеспечения.
При выборе аппаратной платформы для систем реального времени основополагающими моментами являются жесткие требования к временным характеристикам и гибкости системы. Требования к аппаратному обеспечению в настоящее время довольно чётко определены. Большинство проектов реального времени осуществляется в рамках архитектурных решений магистрально-модульных систем (ММС).
Однако, как бы ни была важна сама ОС РВ, сейчас в условиях доступности совместимых аппаратных средств основное внимание уделяется разработке и отладке прикладного программного обеспечения, чья доля в затратах на разработку систем реального времени составляет до 70%.
По среде в которой функционируют системы их можно разделить на классы: программирование на уровне микроконтроллеров, минимальное ядро СРВ, ядро СРВ и инструментальная среда, ОС с полным сервисом.
1.1.4. Встроенные системы реального времени.
Следующее отличие - применение операционной системы реального времени всегда связано с аппаратурой, с объектом, с событиями, происходящими на объекте. Система реального времени, как аппаратно-программный комплекс, включает в себя датчики, регистрирующие события на объекте, модули ввода-вывода, преобразующие показания датчиков в цифровой вид, пригодный для обработки этих показаний на компьютере, и, наконец, компьютер с программой, реагирующей на события, происходящие на объекте. Операционная система реального времени ориентирована на обработку внешних событий. Именно это приводит к коренным отличиям (по сравнению с ОС общего назначения) в структуре системы, в функциях ядра, в построении системы ввода-вывода. Операционная система реального времени может быть похожа по пользовательскому интерфейсу на ОС общего назначения (к этому, кстати, стремятся почти все производители операционных системах реального времени), однако устроена она совершенно иначе – более подробно об этом в пункте 2.2.
В последнее время высокопроизводительные микропроцессоры, а с ними и операционные системы реального времени, все чаще используются в так называемых "глубоко встроенных" (deeply embedded) применениях. К таким компьютерным системам предъявляются два основных требования: малые габариты и низкая стоимость. Поэтому глубоко встроенные микропроцессорные системы ставят две проблемы на пути применения серийных ОС РВ: небольшие объемы используемой памяти и отсутствие "лишних" интерфейсов, по которым можно было бы связать целевую и инструментальную машины на этапе разработки встроенного ПО.