HOME

TheInfoList



OR:

T-Kernel is an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
real-time operating system A real-time operating system (RTOS) is an operating system (OS) for real-time computing applications that processes data and events that have critically defined time constraints. A RTOS is distinct from a time-sharing operating system, such as Unix ...
(RTOS) designed for
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in a maximum of 32- bit units. Compared to smaller bit widths, 32-bit computers can perform la ...
microcontroller A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
s. It is standardized by T-Engine Forum, which distributed it under '' T-License'' agreement. There is also a corresponding Micro T-Kernel (μT-Kernel) implementation designed for embedded systems with
16-bit 16-bit microcomputers are microcomputers that use 16-bit microprocessors. A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two ...
or
8-bit In computer architecture, 8-bit integers or other data units are those that are 8 bits wide (1 octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data bu ...
microcontrollers. Today, it is distributed b
TRON Forum
a successor of T-Engine Forum under T-License 2.2.


TRON real-time operating system family history

In 1984, Dr. Ken Sakamura, then a research assistant at the
University of Tokyo The University of Tokyo (, abbreviated as in Japanese and UTokyo in English) is a public research university in Bunkyō, Tokyo, Japan. Founded in 1877 as the nation's first modern university by the merger of several pre-westernisation era ins ...
, started The Real-time Operating system Nucleus (
TRON Project TRON (The Real-time Operating system Nucleus) is an open architecture real-time operating system kernel design. The project was started by Ken Sakamura of the University of Tokyo in 1984. The project's goal is to create an ideal computer ...
) at the
University of Tokyo The University of Tokyo (, abbreviated as in Japanese and UTokyo in English) is a public research university in Bunkyō, Tokyo, Japan. Founded in 1877 as the nation's first modern university by the merger of several pre-westernisation era ins ...
, with a goal of designing an
open Open or OPEN may refer to: Music * Open (band), Australian pop/rock band * The Open (band), English indie rock band * ''Open'' (Blues Image album), 1969 * ''Open'' (Gerd Dudek, Buschi Niebergall, and Edward Vesala album), 1979 * ''Open'' (Go ...
real-time operating system (RTOS) kernel. The TRON framework tries to define a complete architecture for the different computing architecture layers to address the needs of different applications. Industrial TRON (
ITRON The ITRON project was the first sub-project of the TRON project. It has formulated and defined Industrial TRON (ITRON) specification for an embedded real-time OS (RTOS) kernel. Originally undertaken in 1984, ITRON is a Japanese open standard for ...
) specification OS has been the most popular TRON architecture for OS kernel layer. ITRON specification promotion was done by the various companies which sold the commercial implementations. A different RTOS developed in TRON Project was called BTRON. BTRON stands for Business TRON and was meant for desktop PC with windowing environment. In 1989, Matsushita Electric Industrial Co., Ltd., now known as
Panasonic Corporation is a Japanese multinational electronics manufacturer, headquartered in Kadoma, Japan. It was founded in 1918 as in Fukushima by Kōnosuke Matsushita. The company was incorporated in 1935 and renamed and changed its name to in 2008. In 20 ...
, introduced a TRON PC that used this BTRON OS. This
personal computer A personal computer, commonly referred to as PC or computer, is a computer designed for individual use. It is typically used for tasks such as Word processor, word processing, web browser, internet browsing, email, multimedia playback, and PC ...
had an
Intel 80286 The Intel 80286 (also marketed as the iAPX 286 and often called Intel 286) is a 16-bit microprocessor that was introduced on February 1, 1982. It was the first 8086-based CPU with separate, non- multiplexed address and data buses and also the f ...
chip of 8 MHz and only 2 MB of memory, but it could display moving video. Also, it had a dual-booting system that could run both the BTRON OS and
DOS DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
. Although the Japanese government once announced it would use the TRON PC in Japanese schools, the plan was dropped, partly due to economic issues with the United States. However,
ITRON The ITRON project was the first sub-project of the TRON project. It has formulated and defined Industrial TRON (ITRON) specification for an embedded real-time OS (RTOS) kernel. Originally undertaken in 1984, ITRON is a Japanese open standard for ...
specification OS has been used in many devices, household appliances, automobile electronics, robots, satellites, and factory automation systems in Japan, China, and elsewhere.
Embedded system An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is e ...
developers claim that ITRON specification OS is the number one OS for embedded chips in both Japan and the United States. T-Kernel was developed as a successor to the ITRON specification RTOS. 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-Kernel was developed for T-Engine hardware platform. T-Engine was arguably the most advanced ubiquitous computing platform in the world when it was released. Now some users have begun transitioning from ITRON specification OS to μT-Kernel. 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. T-Kernel 2.0 was used for the control system of Hayabusa2 launched by H-IIA rocket on December 3, 2014. On December 11, 2017, it was announced that a copyright transfer agreement for μT-Kernel 2.0 specification had been signed with Institute of Electrical and Electronics Engineers (IEEE). On September 11, 2018, "IEEE 2050-2018," standard based on "μT-Kernel 2.0" was officially approved as an IEEE standard. In May 2023, the IEEE recognized the RTOS, 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 started TRON Project in 1984.


Early T-Kernel history

T-Kernel was released as an embedded RTOS for T-Engine. With subsequent version upgrades, it now supports target hardware other than T-Engine. 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 be able to use T-Kernel/Standard Extension, which allows dynamic memory allocation and process-based programming.


Overview

To make it easy to distribute
middleware Middleware is a type of computer software program that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to imple ...
, T-Kernel has separate specification for
subsystem A system is a group of interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its environment, is described by its boundaries, structure and purpose and is exp ...
and
device driver In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
which will be suitable for different types of middleware APIs. An RTOS appropriate for individual application can be created by combining the middleware called T-Kernel Extension with T-Kernel. T-Monitor initializes
computer hardware Computer hardware includes the physical parts of a computer, such as the central processing unit (CPU), random-access memory (RAM), motherboard, computer data storage, graphics card, sound card, and computer case. It includes external devices ...
and handles the
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted ...
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.


T-Kernel/OS (operating system)

This offers the basic functions as RTOS. (Functions corresponding to μITRON's functions are mainly handled by this component.)


T-Kernel/SM (system manager)

This offers the functions including system
memory management Memory management (also dynamic memory management, dynamic storage allocation, or dynamic memory allocation) is a form of Resource management (computing), resource management applied to computer memory. The essential requirement of memory manag ...
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
debugger A debugger is a computer program used to test and debug other programs (the "target" programs). Common features of debuggers include the ability to run or halt the target program using breakpoints, step through code line by line, and display ...
s 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. 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 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.


Development environment

eBinder from eSol Corporation is one commonly used
integrated development environment An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
(IDE) for software cross-development targeting T-Kernel. The current release of T-Kernel 2.0 is distributed with a plug-in for
Eclipse An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
IDE. Also, a version of T-Kernel that runs on
QEMU The Quick Emulator (QEMU) is a free and open-source emulator that uses dynamic binary translation to emulate a computer's processor; that is, it translates the emulated binary codes to an equivalent binary format which is executed by the mach ...
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. It is supported by popular SSL/TLS libraries such as wolfSSL.


Development of additional T-Kernel series

In line with the diversification of target hardware, T-Kernel with additional features has been developed such as MP T-Kernel, which supports multiprocessors and multicores, and μT-Kernel, which targets small-scale embedded systems, and the specifications and source code for each are also publicly 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.


AMP T-Kernel

This MP T-Kernel supports asymmetric multiple processors (AMP). AMP systems in general consist 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. These functions between processors in AMP T-Kernel have been expanded from 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.


SMP T-Kernel

This MP T-Kernel supports symmetric multiple processors (SMP). SMP systems in general consist of multiple processors of the same type. 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 SMP 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.


μT-Kernel

It is an RTOS 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. From μT-Kernel 3.0, the source code and specifications have also been made available on GitHub.


See also

* ThreadX


References


External links

*, TRON Forum *
T-Kernel SpecificationsSakamura home pageIntroducing the μT-Kernel

Information about T-Engine, T-Kernel, and μT-Kernel Programming
{{Real-time operating systems Embedded operating systems TRON project