Выбор приоритетов вычислительных процессов и их взаимосвязь с системой прерываний

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

Для выбора приоритетов задач систем реального времени рассмотрим перечень классов системных и проблемных ВП систем реального времени.

1. Прерывания:

· немаскированное прерывание для анализа угрозы отключения напряжения;

· прерывание от системного таймера;

· прерывания-запросы от схем контроля оборудования многопроцессорной системы;

· прерывания от конечных выключателей и иных датчиков систем РВ;

· прерывания от абонентов сети.

2. Системные ВП и инициирующие события:

· ВП, выполняемые при запрете прерываний:

¨ обработка большинства прерываний;

¨ супервизор, обеспечивающий выбор наиболее приоритетного готового ВП;

· ВП, выполняемые при разрешенных прерываниях:

¨ процесс реконфигурации системы РВ - инициируется обработчиком прерываний от аппаратуры контроля, задания тестирования или задачей оценки состояния оборудования;

¨ обслуживание временных интервалов задач управления, инициируемых монитором в режиме оперативной обработки и запросами проблемных задач;

¨ задача управления режимами выполнения приоритетных готовых ВП (монитор либо супервизор);

¨ задача переключения режимов работы системы;

¨ процесс накопления очереди запросов на исполнение управляющих воздействий;

¨ процесс режима коррекции информационной базы;

¨ фоновый процесс контроля и анализа свободного времени.

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

3. Проблемные ВП и события их инициализации:

· задача управления - инициируется событием получения сигнала из исполнительной части управляющей системы;

· задачи оперативных и прогнозирующих расчетов - инициируется событиями начала следующего шага задачи управления;

· задача анализа текущего состояния системы РВ и ее оборудования;

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

· подзадачи или отдельные потоки вычислений основной задачи, запускаемые из нее.

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

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

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

Из изложенного вытекает, что задачи, требующие жестко фиксированного предельного интервала времени между получением исходных и выдачей управляющих воздействий можно решать только следующим образом. Сначала выполнить предварительную обработку для имеющихся данных в рамках одной из высокоприоритетных задач. Затем в обработчике прерываний получить новые значения контролируемых параметров, в кратчайшее время рассчитать управляющее воздействие и выдать его на объект управления. Инициация прерываний такого типа может осуществляться системой ввода-вывода, таймером или сигналом запроса управляющей информации от внешнего устройства. Таким образом, в системах РВ часто используют обработчик прерываний такого комплексного типа.

Если на системы РВ возлагается задача сбора информации о характеристиках объектов, получаемых через аналоговые датчики и преобразователи, то при вводе информации необходимо выполнить комплекс действий, включающих предварительную обработку с линеаризацией выхода датчиков по их характеристикам. Кроме того, часто необходим контроль достоверности результатов измерения их преобразования и сглаживание, устраняющее влияние шумов и помех. Вводимая информация накапливается в отдельном буфере по каждому каналу, а текущая - в объединенном буфере для всех каналов. Если алгоритмы преобразования данных только обновляют элементы объединенного буфера, то при достаточной частоте преобразований и плавности изменения сигналов замена старого значения на новое будет практически незаметна. Более того, потеря одиночных достоверных значений при формировании объединенного буфера не снизит качества обработки, если она выполняется поочередно для всех датчиков.

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

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

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


Словарь терминов

activation record - запись активации

check - проверка (макрокоманда)

dispatch control block - блок управления диспетчирования

ECB (Event Control Block) - блок управления событиями (БУС)

FIFO (first in - first out) - алгоритм (первый пришел - первый обслужен)

incarnation record - запись представления

JMP - команда перехода

JSB - команда обращения к подпрограмме

LIFO (last in - first out) - алгоритм (последний пришел - первый обслужен)

on - line - users - пользователи, работающие в линию

post - информировать (макрокоманда)

process control block - блок управления процессом

put - поместить (макрокоманда)

ROM (read only memory) - память только для чтения

state vector - вектор состояния

Supervisor Call - вызов супервизора

TCB (task control block) - блок управления задачей (БУЗ)

test - and - set, compare - and - swap - проверить и установить

wait - ожидание (макрокоманда)

write - запись (функция ОС)


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



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