Механизмы реального времени

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

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

Процесс проектирования конкретной системы реального времени начинается с тщательного изучения объекта. Изучают возможные события на нем. Определяют критические сроки реакции системы на каждое событие и разрабатывают алгоритмы обработки этих событий. Затем следует процесс проектирования и разработки программных приложений.

Для реализации режима реального времени в ОС РВ используют следующие основные механизмы:

- систему приоритетов и алгоритмы диспетчеризации;

- механизмы межзадачного взаимодействия;

- средства для работы с таймерами.

Система приоритетов и алгоритмы диспетчеризации.

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

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

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

Алгоритмы круговой диспетчеризации в чистом виде в ОСРВ неприменимы. Основной недостаток — непрерывный квант времени, в течение которого процессором владеет только один процесс.

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

Механизмы межзадачного взаимодействия.

Механизмы межзадачного взаимодействия предназначены для синхронизации процессов (потоков) и передачи данных между ними.

К таким механизмам относятся семафоры, мъютексы (мутексы), события, сигналы, средства для работы с разделяемой памятью, каналы данных (pipes), очереди сообщений.

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

Средства для работы с таймерами.

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

Средства работы с таймерами позволяют:

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

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

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

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: