Обобщенная структура специализированной ОС реального времени

Основу воплощения системы РВ составляет ОС РВ или специализированные управляющие программы, объединенные в специализированную ОС. Использование таких универсальных ОС РВ как irmx/86 в полном объеме для случая различных конфигураций систем управления как на основе многопроцессорной системы, так и в форме автоматизированного рабочего места (АРМ) с контроллерами чувствительных элементов и исполнительных устройств нецелесообразно. Причиной является иерархическая избыточности, обеспечивающей возможность подключения средств отладки ВП. Каждая специализированная ОС проектируется из анализа наличия свободной памяти и полного объема памяти, необходимого для выполнения оперативных задач.

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

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

Специализированная ОС управления проектируется для работы в следующих базовых режимах:

· инициализации или начальной загрузки;

· подготовки к оперативной работе;

· оперативной работы по управлению целевой системой;

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

Специализированная ОС должна решать следующие специальные инициирующие задачи:

· начальное размещение управляющих данных в памяти;

· задачу тестирования состояния ВК и устройств системы управления;

· задачу реинициализации ОС при обнаружении особых ситуаций;

· задачу контроля целостности ОС и резидентных проблемных программ.

В режиме оперативной работы должны решаться следующие специальные задачи:

· выдача управляющих сигналов на контроллеры чувствительных элементов и исполнительных устройств;

· прием запросов на обслуживание отдаленных пользователей.

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

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

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

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

· ВП или задачи, постоянно включенные в ОС к моменту их эксплуатации, включая задачи пользователя фонового режима;

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

· флаги готовности и управления ВП.

Кроме того, в состав ОС могут быть включены такие объекты пользователя как:

· сообщения для обмена данными между ВП;

· семафоры для синхронизации ВП за событиями;

· сегменты для размещения относительно больших блоков информации.

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

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

Для эффективной реализации супервизора задач целесообразно использовать команды обработки строк в форме машинного слова. Эффективность воплощения программы в некоторой степени обеспечивается размещением элементов таблицы в памяти по границам машинных слов и двойных слов, из-за чего наиболее эффективной является структура элемента с четным или кратным четырем количеством байтов. Для small-модели системы программирования с единственным стековым сегментом, который выделен для сохранения стеков всех задач, представление стекового адреса требует двух байтов. Для представления приоритетного числа достаточно одного байта, а байт, дополняющий структуру до четного можно использовать для хранения флагов событий ВП, что облегчает конъюнктивный анализ группы из восьми событий. Готовой считается задача, в которой в единицу установлены все флаги событий. Управление программе выбора задачи передается после выполнения системной функции, которая существенно меняет состояние задачи, то есть переводит ее в состояние готовности. Основной функцией супервизора является сохранение информации прерванного ВП и последующем выборе для выполнения в системе наиболее приоритетного ВП. Для разрешения конфликтов при выборе из ряда равноприоритетных готовых задач можно применять правило: при равных приоритетах предпочтение получает задача, занесенная в таблицу первой.

Для обращения к планировщику задач необходимо генерировать специальные последовательности команд на уровне обращений к ядру ОС в форме макроопределений. Такой подход позволяет на основе этого ядра строить библиотеку системных обращений для организации взаимодействия с ядром ОС, а значит и любую унифицированную ОС, построенную на объектном (типа irmx/86), процедурном или функциональном уровне.


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



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