- •Введение
- •1. Требования к осрв:
- •2. Особенности архитектуры осрв:
- •2.1. Микроядерная архитектура и модульность:
- •2.2. Минимальные накладные расходы и статическая конфигурация:
- •2.3. Поддержка жёсткого реального времени и эффективная обработка прерываний:
- •3. Процессы и потоки в осрв:
- •3.1. Процессы в осрв:
- •3.1. Потоки в осрв:
- •3.1. Синхронизация и взаимодействие процессов и потоков:
- •4. Средства синхронизации в осрв:
- •4.1. Семафоры:
- •4.2. Мьютексы:
- •4.3. Очереди сообщений:
- •4.4. События (event flags):
- •4.5. Критические секции:
- •6. Проблема инверсии приоритетов в осрв:
- •7. Протокол наследования приоритетов и протокол граничных приоритетов:
- •7.1. Протокол наследования приоритетов (Priority Inheritance Protocol, pip):
- •7.2. Протокол граничных приоритетов (Priority Ceiling Protocol, pcp):
- •8. Стандарты осрв:
- •8.1. Posix (Portable Operating System Interface):
- •Преимущества posix для осрв:
- •8.2. Arinc 653 (Avionics Application Standard Software Interface):
- •Основные особенности:
- •Применение:
- •Список использованных источников
3.1. Потоки в осрв:
Потоки, или нити, представляют собой более легковесные единицы выполнения, чем процессы. Они разделяют адресное пространство и ресурсы родительского процесса, что делает их более эффективными с точки зрения использования памяти и времени переключения контекста. В ОСРВ потоки часто используются для выполнения задач, которые должны работать параллельно, но при этом требуют минимальных накладных расходов. Потоки в ОСРВ также имеют приоритеты, которые используются планировщиком для управления их выполнением. Это позволяет гарантировать, что критические задачи будут выполнены в первую очередь. Например, в системах управления роботами или промышленным оборудованием потоки могут использоваться для обработки данных с датчиков и управления исполнительными механизмами, при этом соблюдая строгие временные ограничения. Важной особенностью потоков в ОСРВ является их предсказуемость. Время создания, переключения и завершения потоков строго контролируется, что позволяет разработчикам точно рассчитывать временные характеристики системы. Это особенно важно в системах жёсткого реального времени, где задержки недопустимы.
3.1. Синхронизация и взаимодействие процессов и потоков:
В ОСРВ процессы и потоки часто взаимодействуют друг с другом для выполнения сложных задач. Для синхронизации и обмена данными используются такие механизмы, как семафоры, мьютексы, очереди сообщений и события. Эти механизмы оптимизированы для минимизации задержек и обеспечения предсказуемости. Например, в системах управления транспортными средствами потоки могут использовать очереди сообщений для передачи данных от датчиков к алгоритмам управления, а семафоры — для синхронизации доступа к общим ресурсам. В ОСРВ эти механизмы реализованы таким образом, чтобы минимизировать время ожидания и избежать ситуаций, когда высокоприоритетные задачи блокируются низкоприоритетными. Кроме того, в ОСРВ часто используются механизмы приоритетного наследования, которые предотвращают инверсию приоритетов. Это позволяет гарантировать, что критические задачи будут выполнены в срок, даже если они зависят от ресурсов, занятых низкоприоритетными задачами.
4. Средства синхронизации в осрв:
4.1. Семафоры:
Семафоры являются одним из основных средств синхронизации в ОСРВ. Они используются для управления доступом к общим ресурсам и координации выполнения задач. Семафоры могут быть двоичными (принимающими значения 0 или 1) или счётчиковыми (с возможностью отслеживания нескольких ресурсов). В ОСРВ семафоры часто используются для предотвращения гонок (race conditions) при доступе к общим данным или устройствам. Например, если несколько задач пытаются одновременно записать данные в общий буфер, семафор может быть использован для блокировки доступа к буферу, пока одна из задач не завершит операцию записи. Важной особенностью семафоров в ОСРВ является их оптимизация для минимизации задержек. Время захвата и освобождения семафора строго контролируется, что позволяет использовать их в системах с жёсткими временными ограничениями. Кроме того, в ОСРВ часто реализованы механизмы приоритетного наследования, которые предотвращают инверсию приоритетов при использовании семафоров.
