stringtranslate.com

Черновик:QuarkTS

QuarkTS — это кроссплатформенная встраиваемая операционная система с открытым исходным кодом для устройств с ограниченными ресурсами, использующая кооперативный многозадачный планировщик [1] ​​[2] . Распространяется по лицензии MIT .

Выполнение

QuarkTS [3] разработан для микроконтроллеров с ограниченными ресурсами , имеет небольшое и простое ядро. Он в первую очередь написан на языке программирования C для простоты переносимости и обслуживания, хотя также существует порт, написанный на C++11 (QuarkTS++), а также библиотека для Arduino . QuarkTS не имеет специальных инструкций для целевого оборудования, что делает его потенциально переносимым на любую платформу и/или компилятор C/C++ . [3]

Операционная система построена на основе кооперативного квазистатического планировщика реального времени [4] [5] на основе архитектуры Time Triggered Architecture (TTA) [6], реализующей специализированную схему Round-Robin с связанной цепочкой и очередью событий для обеспечения настоящего приоритетного планирования FIFO (First-In, First-Out). Такой подход к планированию обеспечивает значительные преимущества по сравнению с упреждающим планированием, поскольку задачи управляют своим собственным жизненным циклом, возникает меньше проблем повторного входа, и задачи не прерываются произвольно другими задачами, а только в точках, определенных программистом [7] . Это позволяет пользователям создавать стабильное и предсказуемое событийно-управляемое многозадачное встроенное программное обеспечение, не беспокоясь о распространенных подводных камнях параллельных подходов, таких как проблемы совместного использования ресурсов, состояния гонки и тупиковые ситуации . [8]

Целью разработки QuarkTS является предоставление функциональности с использованием небольшой, простой и надежной реализации, что делает ее идеальной для микроконтроллеров с ограниченными ресурсами . В таких средах полностью вытесняющая RTOS может оказаться излишней [9] , внося ненужную сложность в разработку прошивки . Благодаря своему размеру и набору функций QuarkTS предназначен для преодоления разрыва между полнофункциональными RTOS и программированием на голом железе . QuarkTS предназначен для разработчиков встраиваемых систем, ищущих больше функциональности, чем предлагают базовые планировщики задач , избегая при этом накладных расходов и сложности полной RTOS , но при этом обеспечивая надежность и безопасность, типичные для более крупных систем.

Основные характеристики

QuarkTS также соответствует большинству стандартов кодирования MISRA-C-2012/MISRA-C++:2008 [10] Ассоциации по надежности программного обеспечения для автомобильной промышленности (MISRA) и SEI CERT C, обеспечивая безопасную, надежную и защищенную основу для встраиваемых приложений.

Поддерживаемые архитектуры

QuarkTS не имеет прямой зависимости от оборудования, что позволяет ему быть переносимым на многие платформы и компиляторы C [2] .

Следующие ядра успешно запустили QuarkTS:

Смотрите также

Ссылки

  1. ^ "OSRTOS - Лучшие операционные системы реального времени с открытым исходным кодом (RTOS)". www.osrtos.com . Получено 2024-10-09 .
  2. ^ ab "QuarkTS OS". kmilo17pet.github.io . Получено 2024-10-11 .
  3. ^ ab GC, J. Camilo (2024-10-08), kmilo17pet/QuarkTS , получено 2024-10-09
  4. ^ Кортаделла, Хорди; Кондратьев, Алекс; Лаваньо, Лучано; Пассероне, Клаудио; Ватанабэ, Йосинори (2002). «Квазистатическое планирование независимых задач для реактивных систем». В Эспарса, Хавьер; Лакос, Чарльз (ред.). Применение и теория сетей Петри 2002. Конспект лекций по информатике. Том 2360. Берлин, Гейдельберг: Springer. стр. 80–100. doi :10.1007/3-540-48068-4_7. ISBN 978-3-540-48068-6.
  5. ^ Кортес, Луис Алехандро; Элес, Петру; Пэн, Зебо (2004-02-16). "Квазистатическое планирование для систем реального времени с жесткими и мягкими задачами". Труды конференции по проектированию, автоматизации и тестированию в Европе - Том 2. ДАТА '04. США: IEEE Computer Society: 21176. ISBN 978-0-7695-2085-8.
  6. ^ Понт, MJ (1 ноября 2008 г.). «Применение архитектур с синхронизацией по времени в надежных встроенных системах: проблемы и решения». E&I Электротехника и Информационная техника . 125 (11): 401–405. doi : 10.1007/s00502-008-0587-z. ISSN  1613-7620.
  7. ^ «Вытесняющая или кооперативная многозадачность?». www.on-time.com . Получено 2024-10-09 .
  8. ^ «Понимание плюсов и минусов параллелизма». pwskills.com . 2024-10-03 . Получено 2024-10-09 .
  9. ^ "Unstop - Конкурсы, викторины, хакатоны, стипендии и стажировки для студентов и корпораций". unstop.com . Получено 2024-10-09 .
  10. ^ "MISRA" . Получено 2024-10-09 .

Внешние ссылки