Глава 6 – Особенности реализации управления задачами в системах реального времени

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

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

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

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

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

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

· информационно - динамически порождаемые сегменты данных.

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

Такой вариант объектного подхода используем как базу для изложения материала по построению ОС, учитывая цель разработки специализированных ОС нужно исключить основные недостатки универсальной системы типа irmx:

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

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

· избыточный для большинства процедур компактного варианта ОС параметр контроля завершения;

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

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


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



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