书摘《源码公开的嵌入式实时操作系统T-Kernel》

来源:互联网 发布:mac登陆腾讯云服务器 编辑:程序博客网 时间:2024/05/16 23:53
编辑寄语
迎接嵌入式系统的新时代
泛在计算技术可以把人们身边的所有物品都内置到计算机、连接到网络,并通过协调动作实时掌握物
品情况,从而最大程度的降低人类的操作负荷,实现优化控制。目前这一设想正在逐步变成现实。其实,
这一概念我早在20多年前着手TRON工程的时候就考虑过了。而今天我们所说的泛在计算应用在当时被称
为“无所不在的计算机”。
这一设想的具体实现,需要我们大量开发具有强大功能的高品质计算机嵌入产品。基于紧凑嵌入式控
制用实时OS标准开发出来的ITRON则成为其关键所在。事实上,这一ITRON已在汽车发动机控制、手机、
数字家电等各种各样的设备中有所应用,为泛网时代的先锋——嵌入式系统的发展起到了巨大的推动作
用。
现有的嵌入式设备,在其功能朝着高度化、复杂化和大型化方向稳步迈进的同时,也对ITRON提出了
更高的发展要求。我们可以预见到作为嵌入式系统进化形态的泛网社会即将到来。为了进一步提高主体硬
件及其所连接的外部设备的性能;为了能够充分利用这些硬件设备的处理能力提供高水平的服务,并针对
不同的服务生产出差别化商品,因特网、GUI、多媒体、安全等新的要素都成为这一网络体系得以实现的
必要条件。
如此一来,执行这些处理的软件开发工作量激增,仅软件本身的开发就需要数十人之多。另外,由于
产品差别化的实现越来越依赖于软件,而在以市场为主导的今天,新产品既要具有更加强大的功能,又要
能够更加迅速的投入市场。而且,一旦发现缺陷,回收产品,随之而来的则是数十亿资金的巨大风险。如
此看来,所有嵌入式设备的软件都在本公司内部自行开发并不现实,现在,越来越多的开发企业都在购买
其他公司开发的通用软件,即中间件,将其嵌入本公司产品中使用。
在这种情况下,中间件的通用性就显得极为重要。以往的嵌入式设备的开发都必须使用以中间件和设
备驱动程序为中心的其他公司的软件,但软件的移植一般要花费很大的功夫,无论是从花费的时间上来看,
还是产生缺陷的几率来看,结果都不甚理想。而理想的中间件最好不依存于CPU就能进行源代码互换,通
过简单的重新编译就能够使用。
因此,不仅仅是ITRON已经实现的那种实时OS的Kernel标准化,Kernel所处的执行环境整体的标准化
都十分重要。这也就是随着嵌入式设备性能的提高,而必然要使用下一代ITRON-T-Kernel的原因所在。
具体来看,不仅OS的功能和调用方法(API:Application Programmer’s Interface)要具有通用性,与设备驱程
的I/F、开发环境相关功能和可使用程序库功能等等、执行对象程序所处环境的很多组成部分都必须具有通
用性和兼容性。另外,全局名称和编号的分配方法、程序的动态加载、MMU(Memory Management Unit)
的充分利用等等,也必须制定可以同时协调执行多个独立开发程序应用的规则,并具有支持它的OS端功能。
从这个角度来看,与ITRON相比,T-Engine工程大幅度扩展并深化了标准化的范围,连执行环境的硬
件基本结构都必须实现标准化,从而大幅度提高了中间件的重复利用能力和通用性。
ii
为了不致引起误解,必须强调,为提高中间件的通用性而“强行”标准化的,是作为开发平台使用的
T-Engine,而它只需在开发阶段使用。在实际的产品制作中,无论是硬件还是软件,都可以以其基本结构
为基础,或是删除不必要的部分,或是根据需要增加模块,自由进行优化配置,这也是所有一切的前提。
在最终产品中,只要对该设备提供充分必要的软件功能和硬件资源即可,并不需要中间件具备通用性。因
此,也没有必要完全遵守T-Engine标准规范。为了与之明确区别,我们把面向最终用户的最终产物称为
“T-Engine装置”。
与之相对应,具有开发者资格的用户在开发阶段所使用的通用中间件和开发插件板等等被称为
“T-Engine”,这一名称代表着一种基于T-Engine论坛管理规范的标准化体制。由于”T-Engine装置”
和”T-Engine”的区别经常被人混淆误解,所以在这里强调一下。
本书是对T-Engine标准实时核心的“T-Kemel”API进行说明的规范书。T-Kernel规范集中了面向嵌入式
应用的实时、多任务OS领域中,具有20多年历史的TRON工程的成果、实绩和专业技术,该规范以ITRON
为基础。实时Kernel的基本规范,是10多年前就已成熟完善的技术,没有多少变更的余地,发生变化的部
分基本上都是上面所提到的确保中间件通用方面的内容。
对于ITRON因T-Engine的发展而变化内容,最重要的不是Kernel本身的规范,而是其周边环境和执行
环境的完备程度。也就是指中间件、设备驱程和开发环境等的标准化,只要这些条件具备即可立即使用。
对于T-Engine来说,从硬件到设备驱程、包括中间件在内的系统整体结构都进行了标准化,在此基础上还
提供了参考捆装方案。同时,Kernel具备同时协调执行各种供应商独立开发的中间件和设备驱程等程序的
机制,具体来说,内核部分具备目标ID编号的自动分配功能、以及实现子系统定义、资源管理、设备管理、
动态加载等功能的机制,这些功能的实现促进了中间件和设备驱程的通用以及交互应用的发展。
需要注意的是,对于T-Engine来说实时Kernel并不是单独存在的,而是作为总系统的一部分而存在的
T-Kernel。T-Kernel在T-Engine工程中的定位,不是单纯的实时Kernel,而是用于证明众多供应商开发的中
间件和设备驱程具有兼容性和通用性一种实证基础。
本书为T-kerne1的规范书,虽然不是概要说明书和入门手册,但在制作本次修订新版本时,为了方便
读者,增加了简要介绍对T-Engine工程的“PART I. T-Engine工程和T-kernel”以及“PART IV. T-Engine参考
文献