Нормы ESSE консорциума VITA




Нормы ESSE консорциума VITA (VMEbus International Trade Association) находятся в стадии разработки, но уже оказывают влияние на разработчиков ОСРВ в силу весомости организации VITA (напомним, тина VME занимает лидирующее положение среди шин для промышленных компьютеров и встраиваемых систем). Нормы, прежде всего, ориентированы на унификацию приложений для встраиваемых систем в области телекоммуникаций, автомобилестроения и промышленности. Основной целью норм ESSE также является стандартизация ОСРВ (ядра и подсистемы ввода/вывода).

13.7

Стандарт SCEPTRE

Стандарт SCEPTRE (Standartization du Cceur des Produits Temps Reel Europeens) (европейский стандарт на основы систем реального времени, здесь игра слов: sceptre по-французски означает "скипетр") разрабатывался в 1980-90 годы. За время его создания появились новые концепции в ОСРВ, не все из которых успели найти отражение в стандарте. В стандарте

— объединены усилия инженеров и исследователей в разработке групп спецификаций для промышленных приложений;

— даны определения и описания набора методов и подходов, используемых в ОСРВ;

— определены семь основных целей, которые должна преследовать ОСРВ; это:

1. адекватность поставленной задаче,

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

3. минимальная стоимость,

4. максимальная производительность,

5. переносимость (возможность реализовать систему на другом типе процессора, адекватном поставленной задаче),

6. адаптивность (способность системы приспосабливаться к новому управляемому ею оборудованию и/или задачам),

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

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

• коммуникации (межпроцессорное взаимодействие),

• синхронизация (синхронизация процессов),

• контроль и планирование задач,

• управление памятью,

• управление прерываниями и оборудованием ввода/вывода,

• высокоуровневый интерфейс ввода/вывода и управления периферийными устройствами,

• управление файлами,

• управление транзакциями (сообщениями и передачами данных),

• обработка ошибок и исключений,

• обмен сигналами,

• взаимное исключение.

Стандарт определяет основные виды состояния задач.

• Не существует: нет связанного с задачей дескриптора (структуры: данных, характеризующей задачу с точки зрения операционной системы).

• Существует: задача обладает определенным дескриптором.

• Не исполнима: задача существует, но не может ни активизироваться, ни продолжиться.

• Исполнима: задача существует и её можно исполнить.

• Не обслуживается: задача исполнима, но требует активизации или успешно завершена.

• Обслуживается: задача исполнима, начинает исполнение и не терминирована.

• Ожидает: задача обслуживается и ожидает выполнения определенного условия для продолжения своего исполнения.

• Активна: задача обслуживается и не ожидает выполнения какого-либо условия, а только ожидает когда освободится процессор от других задач.

• Готова: задача активна и ожидает процессора.

• Выполняется: задача использует процессор.

Стандарт определяет основные виды межзадачного взаимодействия:

• Обмен сигналами (событиями). Хотя событие предполагает наличие хотя бы двух задач, стандарт SCEPTRE асcоциирует событие с единственной задачей. Сделано это по следующим причинам:

— хотя событие может ожидаться несколькими задачами, с ним необходимо связана единственная очередь ожидания;

— ассоциация события только с одной задачей минимизирует расходы на адресацию при обмене событиями (вся необходимая информация, которой обмениваются задачи должна быть "заложена" в самом событии).

Хотя событие связано с одной задачей, обмен событиями между двумя задачами является операцией, в которой участвуют обе задачи: одна задача ждет сигнала, а вторая его посылает. Событие с точки зрения SCEPTRE - это объект, принимающий два состояния: "прибыл" или "не прибыл". Над событиями определены элементарные операции:

— послать.

— ожидать,

— очистить (удалить поступившее событие),

— проверить (поступление).

 

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

— очереди ожидающих задач,

— очереди сообщений.

 

Над очередями (организованными по принципу FIFO, First In - First Out) определены следующие элементарные операции:

— положить элемент (задачу, сообщение) в очередь,

— взять элемент (задачу, сообщение) из очереди,

— очистить очередь,

— проверить наличие элемента (задачи, сообщения).

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

— синхронные (например, при подсчете времени),

— асинхронные (все остальные, например, ситуация деления на 0).

Для обслуживания исключения необходимы

— обслуживающая программа,

— соответствующая задача (в состоянии ожидания исключения),

— механизм переключения от текущей задачи к задаче обработки исключения,

— механизм возврата из задачи обработки исключения к текущей задаче.

• Семафоры - это высокоуровневый механизм синхронизации задач.

Различают:

Двоичные (булевские) семафоры— это механизм взаимного исключения для защиты критичного разделяемого ресурса; определены следующие элементарные операции:

* взять (если семафор уже "взят" другой задачей, то эта операция переводит задачу в состояние ожидания освобождения семафора),

* вернуть (если семафор ожидается другой задачей, то она может быть активизирована и может вытеснить текущую задачу, например, если ее приоритет выше),

* попробовать взять (если семафор свободен, то взять его, иначе вернуть признак занятости семафора без перевода задачи в состояние ожидания; используется, если задача может продолжить работу без затребованною ресурса, например, если можно использовать другой ресурс).

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

Счетные семафоры — это механизм взаимного исключения для защиты ресурса, который может быть одновременно использован не более, чем ограниченным фиксированным числом задач (например, 4-х канальный порт ввода/вывода может быть использован не более чем четырьмя задачами, требующими по одному каналу каждая). Семафор представляет собой счетчик, уменьшаемый при каждой выдаче ресурса и увеличиваемый при каждом ею возвращении. Если счетчик не находится в заданном диапазоне (ресурса больше нет), то при затребовании ресурса задача перейдет в состояние ожидания. Над семафором определены следующие элементарные операции:

* взять k единиц из семафора, т.е. уменьшить счетчик на k (если в счетчике нет k единиц, то эта операция переводит задачу в состояние ожидания наличия как минимум k единиц в семафоре),

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

* попробовать взять k единиц из семафора (если семафор свободен, то взять k единиц из его, иначе вернуть признак занятости семафора без перевода задачи в состояние ожидания).

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

• Модель клиент — сервер - это высокоуровневый комбинированный механизм коммуникации задач. Состоит из очереди передаваемой информации (сообщений) и события, посылаемого в случае, если очередь не пуста.

В настоящий момент стандарт развивается для поддержания:

• требований "жесткого" реального времени,

• независимости от окружения (типа процессора, вида компьютера, языка разработки приложений),

• распределенных и многопроцессорных вычислений,

• требований повышенной надежности.

Заключение

 

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

Мартин Тиммерман сформулировал следующие необходимые требования для ОСРВ [DEDSYS]:

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

 


Литература

 

1. Часть 1 «Программируемые контроллеры». 40 стр.

2. Часть 2 «Операционные системы реального времени. OS-9. Промышленные сети». 156 стр.

3. Часть 3 «Инструментальная система программирования логических контроллеров ISaGRAF». 228 стр.

4. Часть 4 «Средства организации верхнего уровня систем автоматизации. SCADA – система InTouch». 248 стр.

5. Приложение «Практические работы». 100 стр.

6. Журнал "СТА" (Современные Технологии Автоматизации), 96, 97 г.

7. Журнал "Открытые системы", 97 г. (https://www.osp.ru/os/index)

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: