Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
8-CHto-takoe-mnogozadachnost.docx
Скачиваний:
4
Добавлен:
18.09.2019
Размер:
5.81 Mб
Скачать

ОСРВ – лекции 17.11.20 35

Основные концепции систем реального времени Некоторые общие сведения об срв

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

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

Большую часть своего времени разработчики систем реального времени проводят, заботясь о производительности в наихудшем случае. Они должны постоянно задаваться таким вопросом как: каково наихудшее время между нажатием человеком педали тормоза и приходом сигнала прерывания в процессоре? Какая наихудшая задержка прерывания? И каково наихудшее время ответа программного обеспечения запускающего механизм торможения. Среднее или ожидаемое значение просто не будут удовлетворять.

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

Исполнимость – свойство программы, заключающееся в том, что для каждого действия реального времени можно гарантировать выполнение этого действия не позже заданного срока.

Приоритетный планировщик ‑ что это такое, и почему он лучше?

К этому подойдём постепенно.

Многозадачность

Многозадачность - это процесс переключения процессора между несколькими задачами. Многозадачная система похожа на систему, основанную на «управлении прерываниями», но с несколькими фоновыми потоками.

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

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

Пример программы с требованиями реального времени

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

По теореме Котельникова, отсчеты следует брать СТРОГО периодично (через фиксированные интервалы времени t). Ошибки в задании моментов измерений и в результатах измерений всегда есть, если они слишком велики, то по отсчетам нельзя восстановить закон изменения величины.

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

Порядок действий при регистрации может быть таким (цикл регистрации отсчетов):

1) Измерить значения величин, характеризующие состояие объекта управления. 2) Обработать (например, подавить шумы с помощью цифровой фильтрации) 3) Записать (в массив в памяти) или передать (напр., через UART), кроме того, может быть, выполнить операции по обработке и сформировать управляющее воздействие. 4) Воспринять команду изменения режима (изменить период t, прекратить регистрацию,…) 5) Ждать истечения периода времени t (как именно отсчитывается период, пока не говорим).

Действия 1)…5) повторять в цикле, если не пришла команда «прекратить».

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

Время выполнения действий в пп. 3 и 4 может от цикла к циклу различаться. Длительность цикла (т.е. период измерений) тогда приходится выбирать «по максимуму».

Как начать регистрацию?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]