Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРВ.doc
Скачиваний:
11
Добавлен:
23.08.2019
Размер:
371.2 Кб
Скачать

5. Классификация операционных систем реального времени.

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

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

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

По своей внутренней архитектуре ОС РВ можно условно разделить на монолитные ОС, ОС на основе микроядра и объектно-ориентированные ОС. Графически различия в этих подходах иллюстрируются рисунками 2.1, 2.2, 2.3.

Рис. 2.1. ОС РВ с монолитной архитектурой Рис.2.2. ОС РВ на основе микроядра

5. Классификация операционных систем реального времени. [2]

Рис. 2.3. Объектно-ориентированная ОС РВ

Кроме того, возможна следующая классификация ОСРВ:

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

  2. Unix, адаптированный для задач РВ. Внутренняя структура Unix близка к СРВ и он доступен в исходных кодах.

3.Расширение ОС для задач РВ. Берется Windows NT или Linux и поверх его устанавливается специальный расширитель РВ.

6. Требования к осрв

Большинство систем реального времени поддер­живают ядро или микроядро. Рассмотрим требования к операционной системе реального времени. Итак, операционная система реального времени должна:

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

2. реализовывать вытесняющее планирование с приоритетами. Это означает, в частности, что у каждой задачи должен быть свой приоритет;

3. предоставлять механизмы синхронизации и обмена информацией между задачами;

4. давать задачам возможности захвата памяти. В СРВ с жесткими временными ограничениями парал.задачи обычно на­ходятся в памяти целиком. Это устраняет неопределенность и разброс во времени отклика, обусловленные подкачкой страниц. Механизм захвата па­мяти позволяет задаче с жесткими ограничениями по времени выполнения разместиться в оперативной памяти, не опасаясь, что ОС выгрузит ее;

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

6. иметь предсказуемое поведение (например, при выполнении контекстного переключения, синхронизации задач и обработке прерываний). Это означа­ет, что максимальное время отклика должно быть прогнозируемо при лю­бой ожидаемой нагрузке на систему. Т.е. разработчики ОС должны специфицировать такие временные характеристики, как "задержка обработки прерывания" (interrupt latency), максимальное время маскировки прерываний, а также максимальное время исполнения всех системных вызовов. ОС должна обеспечивать предсказуемые механизмы для синхронизации между нитями и взаимодействия процессов, разрешающие проблему "инверсии приоритетов". Это означает, что как при передаче данных, так и при синхронизации нитей должно обеспечиваться "наследование приоритетов" (или эквивалентный механизм).

7. поддерживать вытесняющую многопоточность (preemptive multi-threading) и мультипроцессорные архитектуры.

8. Аппаратная арх-ра должна поддерживать несколько уровней прерываний (interrupt levels), а ОС должна обеспечивать вытеснение (preemption) обработчиков прерываний.

9. Способность работать в огранич.ресурсах, особенно это касается оперативной памяти.

10. Стоимость системы при массовых тиражах должна быть достаточно низкой.

11. обеспечивать API и "нижележащий" сервис, соответствующий по структуре и реализации требованиям систем реального времени.