【IT168 服务器学院】随着信息家电的普及,智能化、网络化将会无所不在,所有这些都离不开嵌入式软件,而在嵌入式软件中最核心的莫过于RTOS(Real Time Operating System,实时操作系统)。我们都非常熟悉Windows这样的操作系统,但却不一定熟悉嵌入式系统中常用的RTOS。如今,微软已经推出了Windows的嵌入式版本——Windows CE。而风靡一时的Linux也在嵌入式系统中扮演着重要角色。这样看来,传统桌面操作系统和嵌入式操作系统的界线似乎也在淡化。事实究竟如何呢?
RTOS的必备特性
用于嵌入式环境的操作系统RTOS与桌面操作系统有很多本质的不同。这些不同的特性导致产品开发的不同结果。
嵌入式环境给人的第一印象就是占用空间小。所以,普通的Linux或者Windows操作系统要变成嵌入式操作系统,首先就是要进行裁剪。然而,与桌面环境相比,嵌入式环境对于操作系统系统要求不仅仅是“小”,二者在设计要求上有着本质的不同。这些不同主要体现在可裁剪性、实时性和可靠性等三个方面。
随机应变——可裁剪性
从硬件环境来看,桌面操作系统具有标准化的CPU、存储和I/O架构,而嵌入式环境中的RTOS的硬件环境只有标准化的CPU,没有标准化的存储、I/O和显示器架构。
从应用环境来看,桌面操作系统面向复杂多变的应用,而RTOS面向单一设备的单一应用。
从开发界面来看,桌面操作系统试图给开发人员提供一个“黑箱”,让开发人员通过一系列标准的系统调用来使用操作系统中的功能,而嵌入式试图为开发人员提供一个“白箱”,让开发人员可以自主控制系统的所有资源。
总之,桌面操作系统的研究开发指导思想是尽可能在不改变自身的前提下具有广泛的适应性。也就是说:不论应用环境怎么变化,最好都不要对自身内部产生什么影响,也不要求自身做太多的变化。反过来,应用于嵌入式环境的RTOS,在研发的时候就必须立足于改变自身、开放自身,让开发人员可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能拿进来即可。
应当指出的是:如果一个操作系统平台只能依靠手工的方式去掉一些代码,这根本就不是可裁剪性。所谓可裁剪性是在软件工程阶段利用软件配置方法实现软件构件的“即插即用”。
可裁剪性带给用户的一个最直接的好处是硬件成本降低,这对于成本敏感的应用,如消费电子类设备,具有重要的现实意义。由于设备中只包含应用程序用到的那部分操作系统功能,这就使得系统变得简单、易把握,从而提高系统的可靠性。
带修订包 1(Fix Pack 1,FP1)的 DB2 UDB V8.1 提供了很棒的新功能,这项功能可以让您在运行于交互模式时,定制 DB2 UDB CLP 提示符(后文所指的 DB2 UDB CLP 就是运行于交互模式的 DB2 UDB CLP)。
您可以使用这项新的定制功能,把您自己的文本和反映当前实例连接(instance attachment)和/或数据库连接(database connection)的上下文(context)的变量添加到输出显示。本文将向您介绍这项新的定制功能。
定制交互模式下的 DB2 UDB CLP
带 FP1 的 DB2 V8.1 新增了可定制的 DB2 UDB CLP 交互提示符功能。现在 DB2 UDB CLP 提示符可以反映当前实例连接和数据库连接的上下文,还可以显示特定的字符消息。如果没有该项功能,使用交互模式下的 DB2 CLP 会显示硬编码的提示符,如 图 3所示。
图 3. CLP 中的硬编码提示符
![]() |
在继续下去之前:关于 DB2 UDB 注册表变量的 20 秒课程
您可以使用 DB2 UDB 注册表变量更改环境。这些变量之所以可以被这样设置,是因为它们本质上是动态的,并且可适用于当前运行时环境,而无需包含在系统启动概要文件中。有一些 DB2 UDB 注册表变量只能设置为系统启动的一部分。
DB2 UDB V8.1 提供了 DB2 概要注册表(DB2 Profile Registry)用以控制环境。在以前的发行版中,如果更改了环境级别,就需要重新引导 DB2 UDB。现在有了一些例外,可以通过存储在 DB2 概要注册表中的注册表变量对 DB2 UDB V8.1 环境进行专门控制。
可使用 db2set命令更新 DB2 UDB 注册表变量;这些信息被立即存储到概要注册表中。DB2 概要注册表将这些更新过的信息应用到在进行更改之后启动的 DB2 UDB 服务器实例和应用程序。
