コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:Zephyrusjp/sandbox

T-Kernel
T-Kernel logo
開発者 TRON Forum (formerly T-Engine Forum)
プログラミング言語 C, Assembly Language
OSの系統 TRON
開発状況 Current
初版 January 2002年 (22年前) (January 2002)
最新安定版 2.02.00 / 2015年6月24日 (9年前) (2015-06-24)
リポジトリ github.com/tron-forum/tkernel_2
対象市場 Embedded systems
使用できる言語 Specifications are available both in Japanese and English
プラットフォーム ARM, MIPS, x86, PowerPC[1][2][3]
カーネル種別 Real-time operating system (RTOS)
ライセンス T-License 2.2
ウェブサイト www.tron.org/tron-project/what-is-t-kernel
テンプレートを表示


T-Kernel [4] is an open source real-time operating system (RTOS) designed for 32-bit microcontrollers. It was standardized by the T-Engine Forum (now merged into TRON Forum [5]) , which distributed it under the T-License agreement. There is also a corresponding Micro T-Kernel (μT-Kernel, "μ" is read "micro", not "mu") implementation designed for embedded systems with 16-bit or 8-bit microcontrollers.[6] T-Kernel has stabilized while µT-Kernel has seen active development lately.[7] //CI: µT-Kernel 3.0 page on TRON Forum ウェブページを参照する。 //

Today, it is distributed by TRON Forum, a successor of T-Engine Forum under the T-License 2.2 agreement.

TRON Real-time Operating System Family History

[編集]

T-Kernel belongs to a family of real-time operating systems called TRON Real-time operating system family. Its history is explained in the following.

In 1984 professor Ken Sakamura, then a research assistant at the University of Tokyo, started The Real-time Operating system Nucleus (TRON) Project, with a goal of designing an open real-time operating system (RTOS) kernels. The TRON framework defines a complete architecture for the different computing units. [8]

Industrial TRON (ITRON) specification OS is the most popular TRON architecture. ITRON specification promotion was done by the various companies which sell the commercial implementations. T-Kernel is the name of the specification and at the same time a single implementation based on the authorized source code available from TRON Forum (formerly T-Engine Forum) for free under T-License 2.2. T-Engine was arguably the most advanced ubiquitous computing platform in the world when it was released at the time.[9]

ITRON specification OS has been used in many devices, household appliances, automobile electronics, robots, satellites, and in factory automation systems. Embedded system developers claim that ITRON specification OS is the number one OS for embedded chips in both Japan and the United States.[10][11]

T-Kernel was developed as a successor to the ITRON specification OS. Now some users have begun transitioning from ITRON Specification OS to μT-Kernel. (μ is read "micro", not "mu".)

The Japanese domestic rocket Epsilon, which was launched in September 2013, and the observatory satellite HISAKI, which was put into the earth orbit, used μITRON and T-Kernel respectively[12]. T-Kernel 2.0 was used for the control system of Hayabusa2 launched by H-IIA rocket on December 3, 2014[13].

On December 11, 2017, it was announced that a copyright transfer agreement for μT-Kernel 2.0 to assign the copyright of the specification document had been signed with IEEE [14]. This was the preparation for a standardization effort.

On September 11, 2018, “IEEE 2050-2018,” called "IEEE Standard for a Real-Time Operating System (RTOS) for Small-Scale Embedded Systems", a standard based on “μT-Kernel 2.0” was officially approved as an IEEE standard[15].

In May 2023, the IEEE recognized the real-time OS, proposed, created, and released by TRON Project, as an IEEE Milestone, titled "TRON Real-time Operating System Family, 1984." The certified Milestone plaque is installed on the campus of the University of Tokyo, where Ken Sakamura, the leader of TRON Project, worked as a research assistant in 1984 [16][17].

T-Kernel History: its birth

[編集]

T-Kernel was released as an embedded operating system for T-Engine[9]. With subsequent version upgrades, it now supports target hardware other than T-Engine.[18] T-Kernel 2.0 also supports a processor emulator called QEMU. The T-Kernel 2.0 Software Package distributed by TRON Forum includes QEMU (emulator for tef_em1d) configured to emulate T-Engine reference board, so it is possible to develop T-Kernel 2.0 applications on a PC alone.

Similar to the conventional ITRON specification OS, T-Kernel allows kernel-based programming using static memory allocation. However, in order to achieve the original purpose of T-Engine, which is “distribution of middleware,” it is desirable to use T-Kernel/Standard Extension, which allows dynamic memory allocation and process-based programming.

T-Kernel Overview

[編集]

To make it easy to distribute middleware, T-Kernel has separate specification for subsystem and device driver which will be suitable for different types of middleware APIs. A real-time OS appropriate for individual application can be created by combining the middleware called T-Kernel Extension with T-Kernel. T-Monitor initializes computer hardware and handles the interrupt set up at the start. T-Monitor lessens hardware-dependency of T-Kernel, and improves the application portability.

Structure of T-Kernel

[編集]

T-Kernel consists of the following three components from the viewpoint of function.[19]

T-Kernel/OS (operating system)

[編集]

This offers the basic functions as real-time OS. Functions equivalent to older µITRON’s functions are mainly handled by this component.

T-Kernel/SM (system manager)

[編集]

This offers the functions including system memory management function and address space management function in order to manage middleware such as device drivers and subsystems. This component has been extended from μITRON in T-Kernel.

T-Kernel/DS (debugger support)

[編集]

This offers the functions for debuggers to be used in development tools.

License of T-Kernel

[編集]

The source code of T-Kernel was distributed free of charge by TRON Forum under its own license called T-License. As of September 2024, software such as T-Kernel and μT-Kernel has been released as open source based on T-License 2.2, and can be used free of charge, including for commercial use[20].

With the original T-License, the source code could be freely modified, and it was free for both personal use and commercial use when incorporated into a product. However, under the “Single One Source” policy of T-Kernel, it was not possible to freely redistribute the source code[N14] under the original T-License. T-License 2.0 has been improved to allow the redistribution of original source code and the distribution of modified source code, giving users more freedom in terms of source code distribution [21].

Development environment

[編集]

eBinder from eSol Corporation is a commonly used integrated development environment (IDE) for software cross-development targeting T-Kernel.[22]

The current release of T-Kernel 2.0 is distributed with a plug-in for Eclipse IDE. Also, a version of T-Kernel that runs on QEMU based emulator, and the QEMU based emulator itself, are available so that testing, training, and development can be done on a PC without a target hardware. [23]It is supported by popular SSL/TLS libraries such as wolfSSL.[24]

Development of additional T-Kernel series

[編集]

In line with the diversification of target hardware, versions of T-Kernel with additional features have been developed such as MP T-Kernel, which supports multiprocessors and multicores, and µT-Kernel, which targets small-scale embedded systems [4], and the specifications [25] and source code [26]for each are also publicly available. The specifications are available in BOTH Japanese and English.

MP T-Kernel

[編集]

There are two types of multiprocessors: Asymmetric Multiple Processor (AMP) and Symmetric Multiple Processor (SMP). T-Kernel for AMP is called AMP T-Kernel, and T-Kernel for SMP is called SMP T-Kernel. Both T-Kernels are collectively called MP T-Kernel. [27][28]

AMP T-Kernel

[編集]

This MP T-Kernel supports asymmetric multiple processors (AMP).

The AMP system is made up of multiple processors (each processor does not need to be the same type). Since a copy of AMP T-Kernel is assigned to each processor, there will be the same number of AMP T-Kernels as processors in the entire system.

Each AMP T-Kernel has functions to synchronize and communicate with other AMP T-Kernels in the system. The synchronization and communication functions between processors in AMP T-Kernel are specifications that expand the interprocess synchronization and communication functions of T-Kernel 1.00 so that they can be used between processors.

User programs are executed on one of the AMP T-Kernels, and by using the synchronization and communication functions of the AMP T-Kernel, it is possible to synchronize and communicate with user programs on other AMP T-Kernels[27].

SMP T-Kernel

[編集]

This MP T-Kernel supports symmetric multiple processors (SMP).

SMP system consists of multiple processors. Each processor has the same basic functions, and the same program code can be executed, and the main memory can be shared by all processors.

All processors are managed by a single copy of SMPT T-Kernel.

Programs managed and executed by T-Kernel are dynamically allocated to a processor. Task scheduling and object management are centrally managed by the single copy of SMP T-Kernel for the entire system.

User programs do not need to be aware of individual processors. Similar to a user program for T-Kernel on a single processor, a program runs on a single SMP T-Kernel [28].

µT-Kernel

[編集]

It is a real-time OS for small-scale embedded systems.

μT-Kernel specification is designed to be easily optimized and adapted for small-scale embedded systems. On the other hand, in order to ensure compatibility with T-Kernel, the functions that are common to T-Kernel are defined using the same interface, and the data type definitions are also the same as those used in T-Kernel.

μT-Kernel source code is available as reference code on the TRON Forum website [20].

From μT-Kernel 3.0[N23] //CI: 新しいμITRON 3.0 の説明リンクにかえる //, the source code [7]and specifications [29] have also been made available on GitHub.

See also

[編集]

References

[編集]
  1. ^ T-Kernel CPU Support”. 2012年8月7日時点のオリジナルよりアーカイブ。2012年7月26日閲覧。
  2. ^ New Platforms for the T-Engine”. 2012年7月30日時点のオリジナルよりアーカイブ。2012年7月26日閲覧。
  3. ^ Supported CPU list”. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  4. ^ a b What is T-Kernel” (英語). www.tron.org. 2024年10月11日閲覧。
  5. ^ TRON Forum” (英語). www.tron.org (2024年5月10日). 2024年10月11日閲覧。
  6. ^ Tan, Su-Lim; Tran Nguyen Bao Anh (2009). “Real-time operating system (RTOS) for small (16-bit) microcontroller”. 2009 IEEE 13th International Symposium on Consumer Electronics. pp. 1007–1011. doi:10.1109/ISCE.2009.5156833. ISBN 978-1-4244-2975-2 
  7. ^ a b TRON Forum『tron-forum/mtkernel_3, μT-Kernel 3.0 release on github』2024年10月2日https://github.com/tron-forum/mtkernel_3?tab=readme-ov-file2024年10月11日閲覧 
  8. ^ TRON PROJECT 30th Anniversary”. 30th.tron.org. 2024年10月11日閲覧。
  9. ^ a b Krikke, J. (2005). “T-Engine: Japan's ubiquitous computing architecture is ready for prime time”. IEEE Pervasive Computing 4 (2): 4–9. doi:10.1109/MPRV.2005.40. 
  10. ^ Krikke, Jan (2003年10月15日). “The Most Popular Operating System in the World”. LinuxInsider. ECT News Network. 2012年5月13日閲覧。
  11. ^ 再び脚光を浴びる国産アーキテクチャ「TRON」 - 坂村節がきわ立った「2014 TRON Symposium」記者会見より (in Japanese), "TRON," the Japanese architecture in the limelight again ̶-- from the "2014 TRON Symposium" press conference at which Sakamura's statement standed out." Mynavi News. (December 7, 2014)”. マイナビニュース (2014年12月7日). 2024年10月11日閲覧。
  12. ^ 『6. ^ "TRONWARE VOL. 146”, "Welcome to T-Engine Forum & Ubiquitous ID Center." (an article in Japanese)』Personal Media Corporation、April 5, 2014。 
  13. ^ 再び脚光を浴びる国産アーキテクチャ「TRON」 - 坂村節がきわ立った「2014 TRON Symposium」記者会見より (in Japanese), "TRON, the Japanese architecture in the limelight again ̶-- from the "2014 TRON Symposium" press conference at which Sakamura's statement stood out." Mynavi News. (December 7, 2014)”. マイナビニュース (2014年12月7日). 2024年10月11日閲覧。
  14. ^ NIKKAN KOGYO SHIMBUN,LTD. “【電子版】IoT対応「トロン」OS、IEEEの世界標準に トロンフォーラムが著作権譲渡 (in Japanese), "IoT-enabled 'TRON' OS becomes IEEE international standard." Nikkan Kogyo Shimbun. (December 12, 2017)”. 日刊工業新聞電子版. 2024年10月11日閲覧。
  15. ^ 2050-2018 - IEEE Standard for a Real-Time Operating System (RTOS) for Small-Scale Embedded Systems”. IEEE. 2024年10月12日閲覧。
  16. ^ TRON Real-Time OS (RTOS) Family recognized as IEEE Milestone” (英語). www.tron.org (2023年6月22日). 2024年10月11日閲覧。
  17. ^ IEEE MILESTONE” (英語). www.tron.org. 2024年10月11日閲覧。
  18. ^ Supported CPU list” (英語). www.tron.org. TRON Forum. 2024年10月11日閲覧。
  19. ^ T-Kernel” (英語). www.tron.org. 2024年10月11日閲覧。
  20. ^ a b Source code download” (英語). www.tron.org. 2024年10月11日閲覧。
  21. ^ T-License 2.x FAQ”. www.tron.org. 2024年10月11日閲覧。
  22. ^ eT-Kernel | Products | eSOL - Real-time embedded software platform solutions” (英語). eSOL. 2024年10月11日閲覧。
  23. ^ T-Kernel 2.01.01 Software Package”. www.tron.org. 2024年10月11日閲覧。
  24. ^ wolfSSL + Micro-T Kernel, TRON, T-ENGINE - wolfSSL” (英語) (2017年4月24日). 2019年2月13日閲覧。
  25. ^ Specifications” (英語). www.tron.org. 2024年10月11日閲覧。
  26. ^ TRON Forum Download Center”. www.tron.org. 2024年10月11日閲覧。
  27. ^ a b AMP T-Kernel Specification Ver. 1.00.00 TEF021-S001-01.00.00/en”. TRON Forum. 2024年10月12日閲覧。
  28. ^ a b SMP T-Kernel Specification Ver. 1.00.00 TEF021-S002-01.00.00/en”. TRON Forum. 2024年10月11日閲覧。
  29. ^ μT-Kernel 3.0 Specification”. tron-forum.github.io. 2024年10月11日閲覧。
[編集]

Template:Real-time operating systems