
- •1. Что такое функционирование в «Реальном масштабе времени»
- •2. Приведите примеры функционирования в реальном масштабе времени
- •3. Что такое время реакции системы
- •4. Что такое «жесткое» и «мягкое» реальное время.
- •5. Классификация опер-х систем реального времени.
- •6. Требования к осрв
- •7. Задачи, процессы, потоки
- •8. Основные свойства задач.
- •9. Планирование циклических задач, кооперативная многозадачность
- •10. Планирование в режиме разделения времени
- •11. Алгоритм планирования – приоритетная задача с вытеснением
- •12. Виды синхронизации задач
- •14. Синхронизация доступа задач к общему ресурсу
- •15. Семафоры
- •16. Критические секции, мутексы
- •17. Смертельный захват, инверсия во времени
- •18. Синхронизация задач с внешними событиями
- •19. Синхронизация во времени
- •20. Linux реального времени.
- •21. Операц-е системы реального времени и Windows
- •22. Операционная система qnx.
- •23. Контекстное переключение задач.
- •24. Стандарт posix.
5. Классификация опер-х систем реального времени.
Назовем операционной системой реального времени такую систему, которая может быть использована для построения систем жесткого реального времени. Это опр-е выражает отношение к ОСРВ как объекту, содер-му необходимые инструменты, но подразумевает, что этими инстр-ми необх-мо правильно воспольз-ся.
Одно из коренных внешних отличий систем реального времени от систем общего назначения — четкое разграничение средств разработки и исполнения. Набор инструментов исполнения в ОСРВ (ядро, драйверы, исполняемые модули) обеспечивает функционирование приложения реального времени.
Все ОС РВ являются многозадачными операционными системами. Задачи делят между собой ресурсы вычислительной системы, в том числе и процессорное время.
П
о
своей внутр-ей архитектуре ОС РВ можно
условно разделить на монолитные
ОС, ОС
на основе микроядра
и объектно-ориентированные
ОС.
Графически различия в этих подходах
иллюстрируются рис-ми 2.1, 2.2, 2.3.
Рис. 2.1. ОС РВ с монолитной архитектурой Рис.2.2. ОС РВ на основе микроядра
Рис. 2.3. Объектно-ориентированная ОС РВ
Кроме того, возможна следующая клас-я ОСРВ:
Ядро РВ (ядро ОС, спроектированное специально для задач РВ). Этот тип ОС обычно не приспособлен для разработки ПО. Конфигурирование ОС этого типа осуществляется с помощью инструм. ОС.
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(application programming interface) и "нижележащий" сервис, соответствующий по структуре и реализации требованиям систем реального времени.