如上图所示,ITRON规范详细定义一个实时操作系统所应具备的功能、数据结构、错误代码、API和系统状态等,并且划分成不同规模的功能集,以满足不同嵌入式应用的需求,具体实现则留给设计者。任何组织或者个人都可以按照ITRON规范开发自己的实时操作系统。
ITRON规范的开放性和弱标准性使其取得了巨大的成功,在日本已经成为事实上的工业标准,而且是在世界范围内与OSEK/AUTOSAR和POSIX齐名的三大实时操作系统规范之一。另外由于早期的实时操作系统,如VxWorks和pSOS等主要用于军工和航天等高端嵌入式系统,而ITRON主要定位于以家电为代表的低端嵌入式系统,合适的环境以及没有强劲的竞争对手,也是ITRON成功的理由之一。
但成也萧何,败也萧何(个人意见)也正是因为ITRON规范的弱标准性,符合ITRON规范的实时操作系统版本林立,彼此之间却不能完全兼容,带来了过剩的多样性(diversity),造成过多重复开发。另外,随着嵌入式系统越发复杂,除了实时内核,嵌入系统软件中间件如文件系统、网络协议栈、设备驱动框架等也越发重要,而在这些方面,ITRON规范是比较薄弱的。
为了解决上述问题,适应未来嵌入式系统发展趋势,进入新世纪后,ITRON的展在两个方向上继续进行,一个是由坂村健教授领导的T-Engine,另一个便是由高田广章教授领导的TOPPERS。(坂村健教授是高田广章教授的导师,名师出高徒)
T-Engine是指能够在短时间内高效开发嵌入式实时系统的标准平台。如上图所示,T-Engine相对于ITRON的不同之处在于,在硬件层上增加了用于原型开发用的嵌入式硬件规范T-Engine,对硬件的外形尺寸、CPU类型、存储和外设都做了相应的规定;在内核层和硬件层之间增加了新的监视器层规范,称之为T-Monitor,其功能类似于PC上的BIOS(Basic Input Output System),主要用于初始化硬件和引导系统,同时可以提供简单的调试功能;在内核层上,继承并强化原有的µITRON规范,具体实现了一个标准的实时内核T-Kernel,并增加了T-Kernel/System Manager用以实现内存管理、I/O管理、设备管理等功能,增加了T-Kernel/Debugger Support用以实现内核内部状态查询和内核运行追踪等功能;在中间层了进一步规范了各子系统(如文件系统、TCP/IP协议栈等)和设备驱动的规范,称之为T-Format。
最初的标准T-Engine和T-Kernel主要是面向处理器为32位并带有内存管理单元(Memory Managemet Unit, MMU)的嵌入式系统,而后有逐渐发展出针对更小规模嵌入式系统的µT-Engine/µT-Kernel,nT-Engine/nT-Kernel和pT-Engine/pT-Kernel,以及面向多核处理器的T-Kernel/SMP和T-Kernel/AMP。
在运营维护上,T-Engine由专门的T-Engine论坛及各会员公司负责,所有成果都遵循T-License许可证。T-Engine论坛由坂村健教授于2002年发起,目前已经成为拥有众多公司会员的庞大组织。T-Engine充分吸取了ITRON弱标准化的经验教训,采用了强标准化的策略,T-Kernel的源代码由T-Engine论坛统一维护管理。