Особенности систем реального времени

Автор: Пользователь скрыл имя, 26 Декабря 2011 в 00:48, реферат

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

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

Содержание

Особенности архитектуры систем реального времени 3
Операционная система реального времени 5
Архитектуры ОСРВ 6
Отличия от операционных систем общего назначения 7
Выделение памяти 8
Отладка систем реального времени 8

Работа содержит 1 файл

отчет мой (доклад).doc

— 139.00 Кб (Скачать)

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

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

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

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

Рис. 1. Структура системы  реального времени

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

1.2. Особенности отладки  в системах реального  времени

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

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

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

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

Эффективность удаленной  отладки зависит от типа связи  инструментальной и целевой машин, а также от поддержки средств отладки со стороны целевой архитектуры.

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

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

Под мониторингом понимается сбор данных о задаче (значения регистров, переменных, и.т.д) или о системе в целом (стадии выполнения задач, происходящие события, и.т.д).

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

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

1.3. Ошибки в системах  реального времени

Отмеченные выше методы отладки позволяют выявлять и устранять ошибки следующего характера:

Ошибки в программном  обеспечении, влекущие неправильное выполнение задачи (безотносительно времени). Обычные  ошибки, обнаруживаемые средствами активной отладки. Эти средства будут рассмотрены в разделе 2.

Ошибки в ОСРВ: ошибки планирования, синхронизации  и связи.Для отладки, в этом случае, надо использовать один из способов мониторинга. Подробно средства мониторинга описаны в разделе 3.

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

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

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