Синхронизация задач по времени. Понятие «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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!