И программирование задач реального времени

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

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

Последовательное программированиеявляется наиболее| распространенным способом написания программ. Понятие "последовательное" подразумевает, что операторы программы выполняются в известной последовательности один за другим. Целью последовательной программы является преобразование вход­ных данных, заданных в определенной форме, в выходные данные, имеющие другуюформу, в соответствии с некоторым алгоритмом — методом решения (рис.1).

 
 

 


Таким образом, последовательная программа работает как фильтр для исходных данных. Ее результат и характеристики полностью определяются входными данными и алгоритмом их обработки, при этом временные показатели играют, как правило, второстепенную роль. На результат не влияют ни инструментальные (язык програм­мирования), ни аппаратные (быстродействие ЦП) средства: от первых зависят уси­лия и время, затраченные на разработку и характеристики исполняемого кода, а от вторых — скорость выполнения программы, но в любом случае выходные данные бу­дут одинаковыми.

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

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

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








Дата добавления: 2016-02-09; просмотров: 997;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.