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



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

Приоритет – используется планировщиком задач для выборки задачи на выполнение. В ОСРВ применяется динамическая и статическая приоритетность.

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

Алгоритмы планирования задач:

1. Циклический – подразумевает последовательное выполнение задач по заранее установленному порядку со следующими ограничениями: не д.б. цикла ожидания события, квант времени работы задачи д.б. оптимально коротким, подпрограмма или задача должны сохранять свое окружение до возобновления работы.

+ простота и прозрачность, время выполнения можно оценить достаточно точно, мин. размер кода и д-х, исп-ся один и тот же стек при управлении задачами.

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

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

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

- длительное ожидание выполнения низкоприоритетных задач, поэтому алгоритм всегда дополняется механизмом адаптивной приоритетности (у задачи, которая долго выполняется приоритет постепенно снижается). Используется в СРВ с мягким временем.

3. Кооперативная мультизадачность – характерна связанность задач с взаимной передачей управления, используется в СРВ с мягким временем.

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

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

 

17. Механизмы межзадачного взаимодействия, средства синхронизации процессов и передачи данных между ними, семафоры

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

Синхронизация задач- взаимная согласованность задач при выполнении каких- то действий. Характерные случаи при необходимости действий по синхронизации задач:

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

2. Упорядочение доступа к разделяемому ресурсу (Ресурсом называется физ устройство или обл памяти кот может использоваться только одной задачей в конкретный момент времени. Организация синхронизации по этому случаю имеет след формы: а) исключение из технологии алгоритма задач с вытеснением б) выделение спец сервира, отвечающего за использование ресурса в) запрет прерываний на время доступа к разделяемым ресурсам г) применение семафоров (бывают счетные, учитывающие количество единиц использованного ресурса)) 3. Синхронизация задач с внешними событиями (Применение метода опроса устройств на готовность информации и способность реагировать на управляющее воздействие при большом количестве устройств ,но этот метод не производителен. Поэтому чаще применяют систему прерываний, обеспечивает max возможных функций за max короткое время. Однако не все ОСРВ обеспечивают механизм вытеснения и приоритеты прерываний не всегда соответствует приоритетам задач) 4. Синхронизация задач по времени (обеспечив прерыванием по частоте переменного тока. В настоящее время устанавливается часы с батарейкой, обеспечивающих многофункциональный таймер. Пго таймеру реализуется: приостановка задач, запуск задач в определенное время, синхронизация задач. В случае сложных процедур синхронизации создается спец таблица прерываний по таймеру , используется дифф-й таймер и связный список задач )

В СРВ используются семафорытипа «да-нет» или «0-1», а так же применяются счетные семафоры, особенно для участков разделено программного кода (критических секций) Многие из подобных механизмов используются и в ОС общего назначения, но их реализация в ОСРВ имеет свои особенности - время исполнения системных вызовов почти не зависит от состояния системы и в каждой ОСРВ есть, по крайней мере, один быстрый механизм передачи данных от процесса к процессу.

 


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

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






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