Синхронизация задач по времени. Понятие «Tick».



 

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

Обычно он состоит из трех компонент:

· кварцевого генератора,

· счетчика 

· регистра хранения.

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

Режимы работы таймера:

1) Одновибратор.

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

2) Генератор прямоугольных импульсов.

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

 

Т.о. все, что делает таймер – он инициирует прерывания через определенные интервалы времени.

Тик – равный интервал времени, через который инициируются прерывания. Базовая единица измерения времени. Размерность от 2 нс до 8 с.

Виды таймера:

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

Дифференциальный таймер – когда во время каждого цикла уменьшается только один счетчик интервала времени.

Спутниковые, навигационные таймеры – таймеры, которые связаны с GPS навигаторами.

 

Стандарты на ОСРВ. Стандарты POSIX на расширения реального времени.

 

1) POSIX– определяет механизм взаимодействия прикладной программы и ОС.

Ст. 1003.1а – содержит базовые интерфейсы ОС. Поддержку процессов, управление заданиями, группами пользователей, файловой системой, файловыми устройствами, устройствами вв/выв и т.д.

Ст. 1003.1b – содержит расширения реального времени – сигналы реального времени, таймеры, синхронизация файлов, передача сообщений, семафоры и т.д.

Диспетчеризация процессов РВ:

· SCHED_FIFO – механизм приоритетной диспетчеризации с фиксированным приоритетом. Процессы обрабатываются в режиме FIFO.

· SCHED_RR – круговая диспетчеризация

· SCHED_­­OTHER – определяется конкретной реализацией систем.

· Блокирование всей адресной памяти или ее областей.

Синхронизация процессов РВ:

· За счет семафоров – счетчиков.

Ст. 1003.1c – описывается mutex-стандартом:

Отвечает за разделение памяти; За сигналы РВ; за взаимодействие процессов; определяет работу часов и таймеров; определяет различные функции асинхронного вв/выв.

Также отвечает за многопоточную обработку внутри одного процесса:

Диспетчеризация потоков:

­NO_PRIO_WHERIT – приоритет потока не зависит от его владения mutex-ами;

PRIO_INHERIT – поток, владеющий некоторыми mutex-ами наследует приоритет потоков, ожидающих освобождения любого из mutex-ов, которыми владеет данный поток;

PRIO_PROTECT – наследует его же приориет.

 

Ст. 1003.1d включает поддержку дополнительных расширений реального времени

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

Ст. 1003.2h касается сервисов, отвечающих за работоспособность системы.

 

2) DO-178B – Стандартом предусмотрено пять уровней серьезности отказа, и для каждого из них определен набор требований к программному обеспечению, которые должны гарантировать работоспособность всей системы в целом при возникновении отказов данного уровня серьезности.

Данный стандарт определяет следующие уровни сертификации:

· А (катастрофический),

· В (опасный),

· С (существенный),

· D (несущественный)

· Е (не влияющий).

 

3) ARINC-653 –Связан с авиационной техникой. Представляет все требования для авиации.

 

4)OSEK/VDX – используется в производстве автомобильной промышленности.

Состоит из трех основных частей:

OS – стандарт ОС;

COM – стандарт коммуникаций;

NM – стандарт сетевого менеджера.

 


Дата добавления: 2018-08-06; просмотров: 271; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!