T-Kernel (ティー・カーネル) は、オープンソースのリアルタイムオペレーティングシステム(RTOS)である。
概要
T-KernelはT-Engine(ティー・エンジン)用の組み込みオペレーティングシステムとして公開された[3]が、その後のバージョンアップに伴い、T-Engine以外のターゲットハードウェアもサポートするようになった[4]。
T-Kernel 2.0からはQEMUというプロセッサエミュレータにも対応している。 トロンフォーラムが配布するT-Kernel 2.0 Software Packageには、T-Engineリファレンスボードをエミュレーションするように設定されたQEMU(emulator for tef_em1d)が含まれており、PCだけでT-Kernel 2.0用アプリケーションの開発を開始することが可能である[5]。
T-Kernelは、従来からのITRONと同様、スタティックメモリアロケーションによるカーネルベースでのプログラミングが可能。しかし、T-Engine本来の目的である「ミドルウェアの流通」を実現するためには、ダイナミックメモリアロケーションが可能でプロセスベースでのプログラミングも可能なT-Kernel/Standard Extensionを使いこなすことが望まれる。
2013年9月に打ち上げられた国産ロケットイプシロンと、それに搭載された観測衛星ひさきに、μITRONとT-Kernelがそれぞれ使われた[6]。2014年12月3日にH-IIAロケットで打ち上げられたはやぶさ2の制御システムにT-Kernel 2.0が用いられた[7]。
2017年12月11日、μT-Kernel 2.0をIEEEに著作権譲渡契約を結んだと発表された[8]。
2018年9月11日、「μT-Kernel 2.0」ベースの「IEEE 2050-2018」が、IEEE標準として正式に成立した[9]。
T-Kernelの構造
T-Kernelは機能的に以下の3つの部分に分かれている[10]。
- T-Kernel/OS (Operating System)
- リアルタイムOSとしての基本機能を提供する。
(μITRONに相当する機能は主にこの部分が受け持っている。) - T-Kernel/SM (System Manager)
- デバイスドライバやシステムメモリの管理など、システム全体の管理機能を提供する。
T-KernelにおいてμITRONから拡張された機能となる。 - T-Kernel/DS (Debugger Support)
- デバッガなどの開発ツールが使用するための機能を提供する。
T-Kernelのライセンス
T-Kernelのソースコードは、トロンフォーラムがT-License(ティー・ライセンス)という独自のライセンスに従って無償で配布している。 2022年8月23日現在、T-KernelやμT-KernelなどのソフトウェアはT-License2.2に基づいてオープンソースとして公開されており、商利用を含めて無償で使用することができる[11]。
T-Licenseでもソースコードは自由に改変することが可能であり、個人での利用はもちろん、製品に組み込んでの商利用も無償となっていたが、T-Kernelの"Single One Source"という方針の下、ソースコードの自由な再配布ができない条件になっていた[12]。 一方、T-License 2.0からはオリジナルソースコードの再配布や改変版ソースコードの配布が可能となり、ソースコードの配布に関する自由度が高くなるように改良されている[13]。
T-Kernelのシリーズ展開
ターゲットハードウェアの多様化に合わせて、マルチプロセッサ/マルチコアに対応したMP T-Kernel(エムピー・ティー・カーネル)、小規模組込みシステムをターゲットとしたμT-Kernel(マイクロ・ティー・カーネル)などのシリーズ展開があり[14]、それぞれの仕様書[15]とソースコード[16]も一般公開されている。
- MP T-Kernel
- MP T-Kernelは、マルチプロセッサやマルチコア・プロセッサに対応したT-Kernelである[17]。
- AMP T-Kernel
- 非対称型マルチプロセッサ(AMP:Asymmetric Multiple Processor)に対応したMP T-Kernelである。
- SMP T-Kernel
- 対称型マルチプロセッサ(SMP:Symmetric Multiple Processor)に対応したMP T-Kernelである。
- μT-Kernel
- 小規模な組込みシステム向けのリアルタイムOSである。
μT-Kernel 3.0[18]からはGitHubでもソースコード[19]と仕様書[20]が公開されている。
脚注
- ^ 「TRONWARE VOL.89」、2004年10月5日、23頁
- ^ tkernel_2、GitHub
- ^ 「T-Kernel標準ハンドブック」(改訂新版)、2005年6月10日、10頁
- ^ 「サポートCPU一覧」、トロンフォーラム
- ^ 「Interface 2012年5月号」、2012年3月24日、56頁
- ^ 「TRONWARE VOL.146」、2014年4月5日、"Welcome to T-Engine Forum & Ubiquitous ID Center"
- ^ “IoT対応「トロン」OS、IEEEの世界標準に”. 日刊工業新聞. (2017年12月12日) 2018年1月11日閲覧。
- ^ “μT-Kernel 2.0がベースのIEEE 2050-2018がIEEE標準として正式に成立”. www.tron.org. トロンフォーラム (2018年9月11日). 2019年2月25日閲覧。
- ^ 「T-Kernel標準ハンドブック」(改訂新版)、2005年6月10日、12頁
- ^ 「ソフトウェアのライセンス」、トロンフォーラム
- ^ 「T-License 第4条 第2項」、トロンフォーラム
- ^ 「T-License 2.0 FAQ」、トロンフォーラム
- ^ T-Kernelとは?、トロンフォーラム
- ^ 仕様書、トロンフォーラム
- ^ TRON Forum Download Center、トロンフォーラム
- ^ MP T-Kernelとは、トロンフォーラム
- ^ μT-Kernel 3.0、トロンフォーラム
- ^ tron-forum/mtkernel_3、GitHub
- ^ μT-Kernel 3.0仕様書 (Ver.3.00.01)、GitHub
参考文献
- 『T-Kernel標準ハンドブック』《改訂新版》パーソナルメディア株式会社、2005年。
- 『TRONWARE』《VOL.89》パーソナルメディア株式会社、2004年。
- 『TRONWARE』《VOL.146》パーソナルメディア株式会社、2014年。
- 『Interface』《2012年5月号》CQ出版株式会社、2012年。
外部リンク
- 公式ウェブサイト, TRON Forum
- トロンフォーラム日本語サイト
- パーソナルメディアT-Engineソリューション
- Tron-forum - GitHub
- Sakamura home page
- ITRON Project Archive
- Introducing the μT-Kernel
- Information about T-Engine, T-Kernel, and μT-Kernel Programming