构筑无所不在计算的基础—TRON技术体系结构
■ 东京大学教授 日本泛在网络计算环境研究所所长 坂村健
■ 日本泛在网络计算环境研究所中国室室长 梁 青
一、 TRON 与T-Engine
TRON(The Real-time Operating system Nucleus)是由日本东京大学坂村健博士于1984年提出的计算机操作系统规范,目的是想构筑一种理想的计算机结构,实现新的计算体系——“普遍存在的计算环境”,亦称“泛在计算环境”。 所谓“泛在计算环境”是指将微型计算机嵌入到日常生活中的所有机器、设备、工具中,通过网络相互通信,协调运行,以实现高度计算机化的社会环境。为了使计算机嵌入到包括移动通信器等在内的各种机器中,需要这种计算机结构必须小型化并有很好的实时性能。为此,1984年坂村健提倡由产业界与学术界联合启动了“TRON项目计划”。
“TRON项目计划”推行了20年,先后推出了ITRON (嵌入式系统用实时操作系统规范)、JTRON(Java与ITRON的混合操作系统规范)、BTRON(计算机及手机信息终端等最终客户直接操作的操作系统规范体系)、CTRON (以通信控制及信息处理为目的的操作系统接口规范)及TRON HMI(面向各种电子机器的人机界面标准)等规范。
由于用TRON作为实时操作系统的嵌入式计算机结构的实时性能超群(与PC机相比实时响应速度要快1000倍),被广泛应用于汽车电子、移动电话、传真机、电视机、录像机、数码相机和其他数字家电等多个领域,成为低价高性能嵌入式系统的典范。将来也有可能成为卫星控制、工业控制、医疗器械等领域的重要技术。
“TRON项目计划”为了向世界推广,一直采用自由开源、“弱标准化”的方针,也曾经出现过多种版本的开发环境及操作系统式样。随着嵌入式系统的高功能、网络化、高度HMI化,软件开发和调试都变得非常复杂。TRON相关软件的可移植性、可重用性出现了问题。加之嵌入软件开发技术人员严重不足,缺乏可以兼容的软件中间件。
为了实现更为理想的实时操作系统的嵌入式计算结构,TRON项目计划开始了一次新的革命——启动了T-Engine项目计划。
“T-Engine”(T引擎)是为在短时间内高效开发实时嵌入式系统而设计的,由标准化硬件结构(T-Engine)与标准开源实时操作系统核心(T-Kernel)组成的嵌入式系统的开放式标准平台。
在T-Engine开发过程中,搭载的CPU为可变的,而规定了其他硬件结构规范、操作系统核心界面规范、对象数据格式规范等要素,使TRON在标准化的基础结构上,具备充分的外围资源及开发环境。这个开放式标准平台结构的最大目标是将CPU从基础结构中独立出来,使在T-Kernel上开发的中间件可不依存于CPU结构而移植。
通过使用丰富的中间件,可以做到大幅度缩短应用系统开发时间及降低成本;通过使用高质量的硬件和软件,可方便地进行调试;在小批量生产时可照原样开发平台;系统既稳定、尺寸又小,很容易使其直接成为商品,可在很短时间内投向市场。
为将T-Engine这种体系结构向世界推广,2002年成立了T-Engine论坛,已经在全世界拥有470家会员公司(截至2004年11月)。
二、T-Engine基础结构
T-Engine由硬件和软件环境组成,其中软件环境又包括设备驱动、中间件、开发环境、安全系统等部分,是一个完整的嵌入式计算平台系统。
1. T-Engine 硬件结构规范
根据应用范围,T-Engine硬件平台分为以下4个系列产品。
■ 标准T-Engine(标准T引擎)
面向便携型信息机器及高功能手机电话等,软件规模比较大,且硬件资源也较丰富的嵌入式机器的开发平台。T-Kernel与MMU一起运行。
■ μT-Engine(微型T引擎)
面向家电及计量测绘机器等,软件规模较小的嵌入式开发平台,T-Kernel可以以没有MMU的模式运行,主要是为了进行机器控制的开发用平台,用于可移动信息机器、家用电气及计量测绘机器等的设计开发。
■ nT-Engine(微毫T引擎)
用于照明器具、开关、锁、阀门等小型家电机器中使用的硬币大小的嵌入式机器平台。
■ pT-Engine (微微T引擎)
为了在传感器节点及静止物体控制中使用的单个芯片机器的平台。它根据低耗电型的无线协议进行数据的收发,可以组装到泛在计算环境的所有物品中。
2. T-Engine软件结构规范
T-Engine的软件环境主要包括T-monitor、T-Kernel、T-kernel的各种扩展、标准设备驱动以及中间件等外围软件几个部分。
作为启动实时OS核心及支援调试的软件。
T-kernel是在标准T-Engine、μT-Engine上运行的标准实时操作系统核心软件。其优点是:第一,对外部要求的高速应答(实时性能);第二,可以通过动态资源管理功能及单源码原则等,实现在T-kernel上构筑的中间件及应用软件的高度兼容性。
(3) T-kernel的各种扩展
为了提供更广泛功能的OS的扩展部分,分为“自身扩展部分”(Native Extension)与“移植扩展部分”(Ported Extension)两种。自身扩展部分包括有T-Kernel/TE(Tiny Extension)、T-Kernel/SE(Standard Extension)和T-Kernel/EE(Enterprise Extension)三种。
移植扩展部分是将已有的中间件及Kernel移植到T-Kernel上的部分。现在已经开发出或者正在开发的有以下一些:Windows CE .NET/T-Kernel、T-Wireless、T-Java、T-Linux、T-Integrator等。
(4) 标准设备驱动
一种用来吸收每个T-Engine机器的硬件差别的软件。在T-Engine上搭载的标准的驱动,规定了标准的API规范。另外,为了便于开发新设备以及专用设备的驱动软件,还将公开设备驱动的参考代码。
(5) 中间件
指在T-Kernel上运行的各种中间件,包括各种网络用的协议堆栈、文件系统、日语处理、假名汉字变换、eTRON相关的安全软件、GUI、声音处理、Java等。为了保证中间件的兼容性,这些可以组合的中间件信息根据T-Format在T-Engine计划的数据库中集中管理,并根据T-Licenst的规定利用T-dist体系广泛传播配发。
(6) 开发环境
在T-Engine基础结构规范中,不对开发环境进行标准化。但为了确保软件的兼容性,有必要规定源代码及二进制代码的标准规范形式。因此,关于源代码及对象代码的形式,规定以gcc中的内容为准。
3. T-Kernel与其他OS的混合联接结构:T-Bus
目前,市场上在各个领域中已经存在各种基本软件(Kernel等),还形成了很多软件资产。为了在T-kernel中利用这些软件资产,系统提供称为“T-Bus”的机制。使用它可以使已有的基本软件与T-Kernel在同一台计算机上运行。
4. eTRON
T-Engine的设计前提是能随时连接网络。在TRON基础结构中通用的安全基础结构是eTRON(Entity any Economy TRON)。在泛在计算环境中,很有可能通过网络分解的手段被他人偷窥到家中的情况,或被对方窃取控制权。因此,有必要对计算环境的所有机器限制权限,例如,要听从于哪台机器的指示,向何处发送信息等。在使用T-Engine的机器中,将这些访问管理信息作为eTRON的“电子实体”来处理,一般人便可以简单地进行设定,并实现严密的安全管理。