Real-Time Interrupt-driven Concurrency
Конкурентный фреймворк для создания систем реального времени
Эта книга содержит документацию пользовательского уровня о фреймворке Real-Time Interrupt-driven Concurrency (RTIC). Справочник по API можно найти здесь.
Также известен как Real-Time For the Masses.
Это документация по RTIC версии v0.6.x; за документацией по другим версиям:
• v0.5.x сюда.
• v0.4.x сюда.
Возможности
• Задачи как единица конкуренции 1. Задачи могут запускаться от событий (срабатывать в ответ на асинхронные воздействия) или вызываться по запросу программы.
• Передача сообщений между задачами. Если точнее, сообщения можно передавать программным задачам в момент вызова.
• Очередь таймера 2. Программные задачи можно планировать на запуск в определенный момент в будущем. Эту возможность можно использовать для создания периодических задач.
• Поддержка приоритета задач, и, как результат, вытесняющей многозадачности.
• Эффективное, избавленное от гонок данных, разделение ресурсов благодаря легкому разбиению на основанные на приоритетах критические секции 1.
• Выполнение без Deadlock, гарантируемое на этапе компиляции. Данная гарантия строже, чем та, что предоставляется стандартный абтракцией Mutex.
• Минимальные расходы на диспетчеризацию. Диспетчер задач иммет минимальную программную базу; основная работа по диспетчеризации происходит аппаратно.
• Высокоэффективное использование памяти: Все задачи разделяют единый стек вызовов и отсутствует ресурсоемкая зависисмость от динамического аллокатора.
• Все Cortex-M устройства полностью поддерживаются.
• К такой модели задач можно применять так называемый анализ WCET (Наихудшего времени выполнения), а также техники анализа диспетчеризации. (Хотя мы еще не разработали дружественный к Rust'у инструментарий для этого.)
• Приложения должны быть написаны в редакции 2018.
Документация пользователя
Справочник по API
Чат
Присоединяйтесь к нам, чтобы говорить о RTIC в Matrix-комнате.
Записи еженедельных собраний можно найти в HackMD
Комментарии к книге «Real-Time Interrupt-driven Concurrency», Коллектив авторов
Всего 0 комментариев