ThreadX
Разработчик | Экспресс-логика (оригинал) Майкрософт (ранее) Фонд Затмения (текущий) |
---|---|
Написано в | С |
Рабочее состояние | Текущий |
Исходная модель | Открытый исходный код |
Первоначальный выпуск | 1997 год |
Последний выпуск | 6.4.1 [1] / 28 февраля 2024 г |
Репозиторий | github |
Маркетинговая цель | Встроенные системы , Интернет вещей : включая датчики, устройства, пограничные маршрутизаторы, шлюзы. |
Обновить метод | Переустановить |
Менеджер пакетов | Никто |
Платформы | ARC , ARM , Blackfin, CEVA, C6x, MIPS , NXP , PIC , PowerPC , RISC-V , RX, SH, SHARC , TI , V850, Xtensa, x86 , Coldfire и другие |
ядра Тип | Встроенное , детерминированное , реального микроядро пикоядро времени |
По умолчанию пользовательский интерфейс | Поддержка встроенного пользовательского интерфейса (GUIX) |
Лицензия | МОЯ лицензия |
Официальный сайт | тредкс |
Eclipse ThreadX (ранее называвшаяся Azure RTOS и ThreadX ) — это высокодетерминированная встроенная операционная система реального времени программируемая в основном на языке C. (RTOS) ,
Обзор
[ редактировать ]ThreadX изначально был разработан и продан компанией Express Logic из Сан-Диего, Калифорния , США. Автор ThreadX — Уильям Лами , [2] который также был первоначальным автором Nucleus RTOS в 1990 году. Уильям Лами был президентом и генеральным директором Express Logic.
за нераскрытую сумму Express Logic была куплена Microsoft 18 апреля 2019 года и переименована в Azure RTOS. [3] 21 ноября 2023 года Microsoft объявила, что Azure RTOS перейдет на модель с открытым исходным кодом под управлением Eclipse Foundation и сделает проект доступным под разрешительной лицензией MIT . [4] Поскольку Eclipse Foundation стал новым домом, Azure RTOS была переименована в Eclipse ThreadX или в краткой форме «ThreadX».
Название ThreadX происходит от потоков , которые используются в качестве исполняемых элементов, а буква X обозначает переключение контекста , т. е. она переключает потоки. ThreadX обеспечивает упреждающее планирование на основе приоритетов, быстрый на прерывания отклик , управление памятью , межпоточную связь, взаимное исключение , уведомление о событиях и синхронизации функции потоков. Основные отличительные технологические характеристики ThreadX включают порог вытеснения, наследование приоритетов , эффективное управление таймерами, быстрые программные таймеры, дизайн пикоядра , цепочку событий и небольшой размер: минимальный размер процессора с архитектурой ARM составляет около 2 КБ.
ThreadX поддерживает многоядерные процессорные среды посредством асимметричной многопроцессорной обработки (AMP) или симметричной многопроцессорной обработки (SMP). Изоляция потоков приложений с помощью модуля управления памятью (MMU) или защиты памяти (MPU) доступна в модулях ThreadX.
ThreadX имеет обширные сертификаты безопасности от Technischer Überwachungsverein (TÜV, англ.: Ассоциация технической инспекции) и UL (ранее Underwriters Laboratories), а также Ассоциации надежности программного обеспечения автомобильной промышленности соответствует стандарту MISRA C .
ThreadX является основой платформы X-Ware Интернета вещей (IoT) Express Logic, которая также включает поддержку встроенной файловой системы (FileX), поддержку встроенного пользовательского интерфейса (GUIX), встроенный набор интернет-протоколов (TCP/IP) и возможность подключения к облаку (NetX). /NetX Duo) и универсальной последовательной шины ( USB поддержку ) (USBX). ThreadX завоевал высокую оценку разработчиков и является очень популярной ОСРВ. [5] По состоянию на 2017 год [update]По данным маркетинговой исследовательской компании VDC Research, ОСРВ ThreadX стала одной из самых популярных ОСРВ в мире: она используется более чем в 6,2 миллиардах устройств, включая бытовую электронику, медицинские устройства, приложения для сетей передачи данных и SoC. [6]
Поддерживаемые платформы
[ редактировать ]- Аналоговые устройства
- Черноперый
- CM4xx
- Прецизионные микроконтроллеры
- ШАРК
- ULP Микроконтроллеры
- Анды
- РИСК-V
- РУКА
- ARM7
- ARM9
- ARM Кортекс-А
- ARM Кортекс-Р
- АРМ Кортекс-М
- ARM Cortex-A 64-бит
- ARMv8M TrustZone
- Каденс
- Кстенса
- ЧТО-НИБУДЬ
- ТикЛайт-III
- eSi-ОБОГРЕВ
- ЭСи-16х0
- ЭСи-32х0
- Инфинеон
- ХМС1000
- ХМС4000
- Интел
- Ниос II
- Циклон
- Ария 10
- х86
- Микрочип
- АВР32
- ПИК24
- dsPIC33
- ПИК32
- Сэм резюме
- САМ7
- СЭМ9
- САМА 5
- МИПС
- МИПС32 4Кх
- МИПС32 14Кх
- МИПС32 24Кх
- МИПС32 34Кх
- МИПС32 74Кх
- МИПС32 1004Кх
- ИнтерАптив
- микроАптив
- активный
- М-Класс
- НХП
- Холодный огонь+/Холодный огонь
- i.MX
- Кинетический
- ЛПК
- PowerPC
- С32
- Ренесас
- Х8/300Х
- прием
- РЗ
- Ш
- Синергия
- В850
- СТ
- СТМ32Ф0
- СТМ32Ф1
- СТМ32Ф2
- СТМ32Ф3
- СТМ32Ф4
- СТМ32Ф7
- СТМ32H5
- СТМ32H7
- СТМ32Л
- СТМ32U0
- СТМ32У5
- СТМ32ВБ
- Кремниевые лаборатории
- Геккон
- Гигантский геккон
- Гигантский геккон S1
- Счастливый геккон
- Джейд Геккон
- Леопардовый геккон
- Жемчужный геккон
- Крошечный геккон
- Чудо-геккон
- Нулевой геккон
- АРК
- АРК 600
- АРК 700
- АРК ЭМ
- АРК ХС
- Техасские инструменты
- C674x
- C64x+
- Геркулес
- МСП430
- Простая ссылка MSP432
- вуаль
- Тива-С
- Ксилинкс
- Микроблейз
- Зинк-7000
- Zynq УльтраСкейл+
История
[ редактировать ]ThreadX был впервые представлен в 1997 году. ThreadX 4 был представлен в 2001 году. ThreadX 5 был представлен в 2005 году и является последней версией на 2020 год. [update].
FileX — встроенная файловая система для ThreadX была представлена в 1999 году.
NetX – встроенный сетевой стек TCP/IP для ThreadX был представлен в 2002 году.
USBX — встроенная поддержка USB для ThreadX была представлена в 2004 году.
ThreadX SMP для многоядерных сред SMP был представлен в 2009 году.
Модули ThreadX были представлены в 2011 году.
ThreadX получил сертификаты безопасности: TÜV IEC 61508 в 2013 году и UL 60730 в 2014 году.
GUIX — встроенный пользовательский интерфейс для ThreadX был представлен в 2014 году.
за нераскрытую сумму Express Logic была куплена Microsoft 18 апреля 2019 года. [3]
Технология
[ редактировать ]ThreadX реализует алгоритм упреждающего планирования на основе приоритетов с собственной функцией, называемой порогом вытеснения. Было показано, что последний обеспечивает большую степень детализации критических разделов, уменьшает переключение контекста и является предметом академических исследований по обеспечению планирования. [7]
ThreadX предоставляет уникальную конструкцию, называемую цепочкой событий. [8] где приложение может зарегистрировать функцию обратного вызова на всех интерфейсах прикладного программирования (API), которые могут сигнализировать о внешнем событии. Это помогает приложениям объединять различные общедоступные объекты в ThreadX, чтобы один поток мог эффективно блокировать несколько объектов.
ThreadX также предоставляет счетные семафоры , мьютексы с необязательным наследованием приоритетов, флаги событий, очереди сообщений , программные таймеры, блочную память фиксированного размера и блочную память переменного размера. Все API в ThreadX, которые блокируют ресурсы, также имеют необязательный тайм-аут.
ThreadX предлагает поддержку многоядерных процессоров через AMP или SMP. Изоляция кода приложения доступна через компонент ThreadX Modules.
Основные компоненты
[ редактировать ]Компоненты ThreadX RTOS включают:
- Встроенная файловая система
- Встроенный графический интерфейс пользователя
- Встроенная сеть
- Встроенный USB
- Сертификация безопасности
- Упаковка
Встроенная файловая система
[ редактировать ]FileX — это встроенная файловая система для ThreadX. FileX поддерживает форматы FAT12 , 16 , 32 и exFAT . Последний увеличивает размер файлов FAT за пределы 4 ГБ, что особенно полезно для видеофайлов, и для использования требуется лицензия непосредственно от Microsoft. FileX также обеспечивает отказоустойчивость и поддерживает прямые носители флэш-памяти NOR и NAND с помощью продукта для выравнивания износа флэш-памяти под названием LevelX.
Встроенный графический интерфейс пользователя
[ редактировать ]GUIX — это встроенный графический интерфейс пользователя (GUI) для ThreadX. GUIX предоставляет 2D- систему времени выполнения (среду) для встроенных приложений, работающих под управлением ThreadX. GUIX поддерживает несколько устройств отображения с различными разрешениями экрана и глубиной цвета. множество предопределенных графических виджетов Доступно . Хост-инструмент Windows WYSIWYG под названием GUIX Studio автоматически генерирует код C для GUIX для выполнения во время выполнения.
Встроенная сеть
[ редактировать ]NetX Duo — это встроенная система TCP/IP для ThreadX. NetX Duo поддерживает сети IPv4 и IPv6 , а также такие протоколы, как ARP, Auto IP, DHCP, DNS, DNS-SD, FTP, HTTP, ICMP, IGMP, mDNS, POP3, PPP, PPPoE, RARP, TFTP, SNTP, SMTP, SNMP и ТЕЛНЕТ. Безопасность сети на уровне IP обеспечивается протоколом IPsec. Безопасность на уровне сокетов TCP и UDP обеспечивается TLS и DTLS соответственно. Поддержка протоколов IoT Cloud включает CoAP, MQTT и LWM2M. NetX Duo также поддерживает Thread и 6LoWPAN. В 2017 году ThreadX и NetX Duo стали сертифицированными продуктами Thread. [9]
Встроенный USB
[ редактировать ]USBX — это встроенная система универсальной последовательной шины ( USB ) для ThreadX. USBX поддерживает как хост, так и устройство. Поддержка хост-контроллера включает EHCI, OHCI и собственные хост-контроллеры USB. USBX также поддерживает OTG. Поддержка класса USBX включает Audio, Asix, CDC/ACM, CDC/ECM, DFU, GSER, HID, PIMA, Printer, Prolific, RNDIS и Storage.
Сертификация безопасности
[ редактировать ]ThreadX (а также FileX и NetX Duo) прошли предварительную сертификацию SGS-TÜV Saar на соответствие следующим стандартам безопасности: IEC 61508 SIL 4, IEC 62304 класс C, ISO 26262 ASIL D и EN 50128 SW-SIL 4.
ThreadX (а также FileX и NetX Duo) прошли предварительную сертификацию UL на соответствие следующим стандартам безопасности: UL/ IEC 60730 , UL/ IEC 60335 , UL 1998
ThreadX также сертифицирован по стандартам DO-178 различными военными и аэрокосмическими компаниями. Он поддерживается популярными Transport Layer Security (SSL/TLS), библиотеками такими как wolfSSL . [10]
Упаковка
[ редактировать ]По состоянию на 2017 год ThreadX поставляется как часть X-Ware IoT Platform с полным исходным кодом и без каких-либо выплат роялти за выполнение .
Продукты, использующие его
[ редактировать ]Некоторые громкие продукты, использующие ThreadX, варьируются от небольших носимых устройств до принтеров Hewlett-Packard и даже NASA космического Deep Impact зонда . [11]
Линейка Raspberry Pi одноплатных компьютеров запускает ThreadX как двоичный объект на графическом процессоре (GPU). Это контролирует начальную загрузку , которая, в свою очередь, используется для загрузки дополнительных операционных систем, таких как Linux , и продолжает работать в более привилегированной роли даже после процесса загрузки. [12]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Релизы · eclipse-rtos/Threadx» . Гитхаб .
- ^ Коул, Бернард; МакКоннел, Тони (3 сентября 2010 г.). «Билл Лами: История человека и его операционных систем реального времени» . Встроенный . АспенКор.
- ^ Перейти обратно: а б Джанакирам, MSV (21 апреля 2019 г.). «Как сбор данных Express Logic помогает Microsoft и экосистеме Интернета вещей» . Форбс .
- ^ «Microsoft вносит вклад Azure RTOS в открытый исходный код» . Майкрософт . Проверено 23 ноября 2023 г.
- ^ Карбоне, Джон. «Высокопроизводительная ОСРВ «ThreadX»: экспресс-логика: сокращение времени вывода на рынок и снижение стоимости разработки» . Ренесас .
- ^ «Интернет вещей и встроенные операционные системы» . Исследования ВДЦ . Проверено 31 июля 2018 г.
- ^ Ван, Юн; Саксена, Манас. «Планирование задач с фиксированным приоритетом с порогом вытеснения» (PDF) . Кафедра компьютерных наук . Университет Юты.
- ^ «Цепочка событий позволяет системам реального времени более эффективно реагировать на несколько событий в реальном времени» (PDF) . Экспресс-логика .
- ^ «Сертифицированная продукция по резьбе» . Группа тем . Архивировано из оригинала 14 июня 2018 г. Проверено 11 января 2018 г.
- ^ «wolfSSL с улучшенной поддержкой ThreadX/NetX» . волкSSL . 16 января 2018 г. Проверено 13 февраля 2019 г.
- ^ «В проекте НАСА «Deep Impact» используются встроенные системы, позволяющие попасть в яблочко на расстоянии 80 миллионов миль» . Военные встраиваемые системы .
- ^ нахопаркер (2 февраля 2019 г.). «Что не так с Raspberry Pi» . Владейте своими битами . Архивировано из оригинала 31 мая 2022 г. Проверено 9 марта 2024 г.