スレッドX

Eclipse スレッドX
開発者Express Logic(オリジナル)Microsoft(旧)Eclipse(現在)
言語C
動作状態現在の
ソースモデルオープンソース
初期リリース1997 (1997年
最新リリース6.4.1 [ 1 ] / 2024年2月28日 ( 2024-02-28 )
リポジトリgithub.com /eclipse-threadx /threadx /
マーケティングターゲット組み込みシステムIoT
アップデート方法再インストール
パッケージマネージャーなし
サポートされているプラ​​ットフォームARCARM、Blackfin、CEVA、C6x、MIPSNXPPICPowerPCRISC-V、RX、SH、SHARCTI、V850、Xtensa、x86Coldfire、その他
カーネルタイプ組み込み決定論的リアルタイムマイクロカーネルピコカーネル
デフォルトのユーザーインターフェース組み込みUIサポート(GUIX)
ライセンスMITライセンス(2023年現在)
公式ウェブサイトthreadx.io

ThreadXは、主にC言語でプログラムされた組み込みリアルタイムオペレーティングシステム(RTOS)です。1997年にExpress Logicが最初に開発した際にThreadXとしてリリースされ、その後、 Express LogicがMicrosoftに買収された後、Azure RTOS (2019年)に改名されました。 [ 2 ]そして最近では、 Eclipse Foundationの管理下で無料のオープンソースモデルに移行した後、 Eclipse ThreadX(2023年)、または略して「ThreadX」に改名されました。[ 3 ]

歴史

ThreadXは1997年に、米国カリフォルニア州サンディエゴのExpress Logic社によって初めてリリースされ、販売されました。開発者は、NucleusPX5 RTOSのオリジナル開発者であり、Express Logic社の社長兼CEOでもあったWilliam Lamie氏[ 4 ]です。ThreadXバージョン4は2001年に、バージョン5は2005年に、そしてバージョン6(最新のメジャーバージョン)は2020年にリリースされました。 FileX – ThreadX の組み込みファイルシステムは 1999 年に導入されました。 NetX – ThreadX の組み込み TCP/IP ネットワーキングスタックは 2002 年に導入されました。 USBX – ThreadX の組み込み USB サポートは 2004 年に導入されました。 SMP マルチコア環境用の ThreadX SMP は 2009 年に導入されました。 ThreadX モジュールは 2011 年に導入されました。 ThreadX は、2013 年にTÜV IEC 61508、2014年にUL 60730の安全性認証を取得しました。 GUIX – ThreadX の組み込み UI は 2014 年に導入されました。

2019年4月18日、マイクロソフトはExpress Logicを非公開の金額で買収し、Azure RTOSに名称を変更した。[ 2 ]

2023年11月21日、マイクロソフトはAzure RTOSをEclipse Foundationの管理下でオープンソースモデルに移行し、寛容なMITライセンスの下でプロジェクトを公開すると発表しました。[ 3 ] Eclipse Foundationを新たな拠点として、Azure RTOSはEclipse ThreadX(略して「ThreadX」)に改名されました。

概要

ThreadX という名前は実行可能要素として使用されるスレッドを指し、 Xはコンテキスト切り替えを表します。

ThreadXは、優先度ベースのプリエンプティブスケジューリング、高速割り込み応答、メモリ管理、スレッド間通信、排他制御、イベント通知、スレッド同期機能を提供します。ThreadXの主な技術的特徴としては、プリエンプションしきい値、優先度継承、効率的なタイマー管理、高速ソフトウェアタイマー、ピコカーネル設計、イベントチェーン、そして小型サイズ( ARMアーキテクチャプロセッサにおける最小サイズは約2KB)などが挙げられます。

ThreadXは、非対称マルチプロセッシング(AMP)または対称マルチプロセッシング(SMP)のいずれかを介してマルチコアプロセッサ環境をサポートします。ThreadXモジュールでは、メモリ管理ユニット(MMU)またはメモリ保護ユニット(MPU)によるメモリ保護を備えたアプリケーションスレッド分離が可能です。

ThreadX は、 TÜVおよびULの安全認証を取得しており、Motor Industry Software Reliability Association MISRA Cに準拠しています。

ThreadXは、Express LogicのX-Ware IoT(モノのインターネット)プラットフォームの基盤であり、組み込みファイルシステムサポート(FileX)、組み込みUIサポート(GUIX)、組み込みインターネットプロトコルスイート(TCP/IP)、クラウド接続(NetX/NetX Duo)、ユニバーサルシリアルバス(USB)サポート(USBX)などを備えています。ThreadXは開発者に好まれ、人気の高いRTOSです。[ 5 ]

2017年現在、ThreadX RTOSは世界で最も人気のあるRTOSの1つとなり、民生用電子機器、医療機器、データネットワークアプリケーション、SoCなど62億台以上のデバイスに導入されています。[ 6 ]

テクノロジー

ThreadXは、プリエンプションしきい値と呼ばれる独自の機能を備えた、優先度ベースのプリエンプティブスケジューリングアルゴリズムを実装しています。このしきい値は、クリティカルセクション内でより高い粒度を提供し、コンテキストスイッチを削減し、スケジューリングの保証に関する学術研究の対象となっています。[ 7 ]

ThreadXはイベントチェイニング[ 8 ]と呼ばれる独自の構造を提供します。これにより、アプリケーションは外部イベントを通知できるすべてのAPIにコールバック関数を登録できます。これにより、アプリケーションはThreadX内の様々なパブリックオブジェクトを連結することができ、1つのスレッドが複数のオブジェクトでブロックできるようになります。

ThreadXは、カウントセマフォ、優先度継承オプション付きのミューテックス、イベントフラグ、メッセージキュー、ソフトウェアタイマー、固定サイズブロ​​ックメモリ、可変サイズブロ​​ックメモリも提供します。ThreadXのリソースをブロックするすべてのAPIには、オプションのタイムアウトも用意されています。

ThreadXは、AMPまたはSMPを介してマルチコアプロセッサをサポートします。アプリケーションコードの分離は、ThreadXモジュールコンポーネントを通じて利用できます。

安全認証

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 60335UL 1998

ThreadXは、様々な軍事・航空宇宙企業によってDO-178規格の認証を受けています。wolfSSLなどの一般的なトランスポート層セキュリティ(SSL/TLS)ライブラリによってサポートされています。[ 9 ]

パッケージ

2017年現在、ThreadXはX-Ware IoT Platformの一部として完全なソースコードでパッケージ化されており、 ランタイムロイヤリティの支払いは不要です

主要コンポーネント

ThreadXの主要コンポーネントは次のとおりです。

スレッドX

ThreadXはリアルタイムオペレーティングシステム(RTOS) です

FileXとLevelX

FileXはThreadXのオプションのファイルシステムです。FAT12 、FAT16FAT32exFATファイルシステムをサポートしています。exFATFATファイルサイズを4GB以上に拡張できるため、大容量のビデオファイルに適しています

また、フォールト トレランス機能も提供し、LevelXと呼ばれるオプションのフラッシュ ウェア レベリング製品を通じてダイレクト NOR および NANDフラッシュ メモリメディアをサポートします。

GUIX

GUIXはThreadXのオプションのグラフィカルユーザーインターフェース(GUI)です。様々な画面解像度と色深度を持つ複数のディスプレイデバイスをサポートする2Dコンピュータグラフィックスシステムを提供します。多数の定義済みグラフィカルウィジェットが利用可能です。WindowsのWYSIWYGホストツールであるGUIX Studioは、実行時にGUIXを実行するためのCコードを自動的に生成します

NetXデュオ

NetX Duoは、ThreadXのオプションのTCP/IPネットワークシステムです。IPv4とIPv6両方のネットワークをサポートし、 IPsecネットワークセキュリティを備えています。TCPおよびUDPソケット層はTLS / DTLSによって提供されます。オプションのプロトコルには、ARP、Auto IP、DHCP、DNS、DNS-SD、FTP、HTTP、ICMP、IGMP、mDNS、POP3、PPP、PPPoE、RARP、TFTP、SNTP、SMTP、SNMP、Telnetなどがあります。IoTクラウドプロトコルのサポートには、CoAP、MQTT、LWM2Mが含まれます。NetX DuoはThreadと6LoWPANもサポートしています。2017年、ThreadXとNetX DuoはThread認定製品となりました。[ 10 ]

USBX

USBXはThreadXのオプションのユニバーサルシリアルバス(USB)システムです。ホスト/デバイス/On-The-Go(OTG)の両方をサポートします。ホストコントローラーのサポートには、EHCI、OHCI、および独自のUSBホストコントローラーが含まれます

サポートされているUSB デバイス クラス: オーディオ、Asix、CDC/ACM、CDC/ECM、DFU、GSER、HID、PIMA、プリンター、Prolific、RNDIS、ストレージ。

TraceX

TraceXは、ThreadX RTOSイベントをグラフィカルに表示するオプションのホストソフトウェアです。Windows XP以降が 必要です

対応ポート

ThreadXを使用した製品

ThreadX を使用する製品の例:

参照

参考資料

  1. ^リリース · eclipse-rtos/Threadx」 . GitHub
  2. ^ a b「Express Logicの買収はMicrosoftとIoTエコシステムにどのような影響を与えるか」 Forbes 2019年4月21日。2023年2月11日時点のオリジナルよりアーカイブ。
  3. ^ a b「MicrosoftがAzure RTOSをオープンソースに寄贈」 Microsoft 2023年11月21日。2024年11月23日時点のオリジナルよりアーカイブ。
  4. ^ 「Bill Lamie: ある男と彼のリアルタイムオペレーティングシステムの物語」 Embedded.com 、 2010年9月3日。2016年7月2日時点のオリジナルよりアーカイブ
  5. ^ 「高性能RTOS ThreadX: Express Logic」ルネサス エレクトロニクス2018年。 2019年3月2日時点のオリジナルよりアーカイブ
  6. ^ 「IoT & Embedded Technology Report」 VDC Research、2017年12月。2024年5月15日時点のオリジナルよりアーカイブ。
  7. ^ 「プリエンプションしきい値による固定優先度タスクのスケジューリング」(PDF)ユタ大学コンピュータサイエンス学部1999年12月。 2017年3月30日時点のオリジナル(PDF)からアーカイブ
  8. ^ 「イベントチェーニングにより、リアルタイムシステムは複数のリアルタイムイベントに効率的に応答可能」(PDF)。Express Logic 。2016年7月21日。2018年6月14日時点のオリジナル(PDF)からアーカイブ
  9. ^ 「ThreadX/NetXサポートを強化したwolfSSL」 . wolfSSL . 2018年1月16日. 2023年3月30日時点のオリジナルよりアーカイブ。
  10. ^ 「Thread Certified Products」 . Thread Group . 2018年6月14日時点のオリジナルよりアーカイブ
  11. ^ a b c d e f g h「Eclipse - ThreadX - ThreadX Overview」 . GitHub . 2024年12月3日時点のオリジナルよりアーカイブ。
  12. ^ a b “Eclipse - ThreadX - RTOS Docs” . GitHub . 2024年12月3日時点のオリジナルよりアーカイブ。
  13. ^ 「Hewlett Packard」 . Green Hills Software . 2024年12月8日時点のオリジナルよりアーカイブ。
  14. ^ “The Intel Management Engine” . bitkeks.eu . 2017年12月5日. 2024年4月23日時点のオリジナルよりアーカイブ。
  15. ^ 「ケーススタディ:NASAの『ディープ・インパクト』は組み込みシステムを採用し、8000万マイル離れたブルズアイを撃破」 Military Embedded Systems. 2006年1月13日. 2015年4月4日時点のオリジナルよりアーカイブ。 2015年3月30日閲覧
  16. ^ 「Raspberry Piの何が問題なのか」 Own Your Bits . 2019年2月2日. 2022年5月31日時点のオリジナルよりアーカイブ。 2024年3月9日閲覧

さらに詳しい情報

ThreadXドキュメント
RTOS比較
公式
STM32