从开发界面来看,桌面操作系统试图给开发提供一个“黑箱”,让开发通过一系列标准的系统调用来使用操作系统中的功能,而嵌入式试图为开发提供一个“白箱”,让开发可以自主控制系统的所有资源。
桌面操作系统的研究开发指导思想是尽可能在不改变自身的前提下具有广泛的适应。也就是说:不论应用环境怎么变化,好都不要对自身内部产生什么影响,也不要求自身做太多的变化。反过来,应用于嵌入式环境的RTOS,在研发的时候就必须立足于改变自身、开放自身,让开发可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能拿进来即可。
应当指出的是:如果一个操作系统平台只能依靠手工的方式去掉一些代码,这根本就不是可裁剪。所谓可裁剪是在软件工程阶段利用软件配置方法实现软件构件的“即插即用”。
可裁剪带给用户的一个直接的好处是硬件成本降低,这对于成本敏感的应用,如消费电子类设备,具有重要的现实意义。由于设备中只包含应用程序用到的那部分操作系统功能,这就使得系统变得简单、易把握,从而提高系统的可靠。
到位——实时
许多人都把实时理解为速度快。那么,速度快到什么程度才算是达到实时呢?其实,所谓实时,其核心含义在于确定,而不是单纯的速度快。也就是说,RTOS所要求的是在规定的时间内做完应该做的事情,并且操作系统的行为(执行线索)是确定的,这是写出高可靠程序的基础。如果完成同样的动作,有的时候快,有的时候慢,且执行线索千差万别,程序员无法把握,可靠就无从保证。
嵌入式系统为什么对实时要求那么高呢?因为嵌入式系统主要是对仪器设备的动作进行监测控制的,而一般的桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作。相对而言,仪器设备的动作具有严格的、机械的时序要求,而人的动作和反应在时序上并不那么严格。比如,用于控制火箭发动机的嵌入式系统,它所发出的指令不仅要速度快,而且多个发动机之间的时序要求严格,否则就会差之毫厘、谬之千里。在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的。
如果我们所开发的设备并不是像航空航天器那样生命攸关或者生产控制那样的关键任务系统,而是像消费电子类那样,即使出现错误也不会造成灾难后果的设备,那么实时(严格地讲是确定)是否还具有现实意义呢?答案是肯定的!设备的高可靠可以有效地降低维护成本;软件运行效率高也会降低对的要求,从而降低硬件成本。对于消费电子产品这类价格十分敏感的产品,实时、可靠仍然是值得重视的问题。
1 NEW BRAD HARRISON WOODHEAD 41310 CORD SET NIB
1 NEW BRAD HARRISON WOODHEAD 703000D02F060 CORD SET NIB
NEW BRAD HARRISON 34701 9P CONNECTOR FEMALE RECEPTACLE
Brad Harrison 115020C04F200 Minni Change 5P Male/Female
BRAD HARRISON 141003 NSFP 141003
BRAD HARRISON 207002A01F200 NSFP 207002A01F200
BRAD HARRISON DN11A-M090 NSFP DN11AM090
BRAD HARRISON 775030K02F200 USPP 775030K02F200
BRAD HARRISON 33504 NSFP 33504
BRAD HARRISON 33509 NSFP 33509
3 BRAD HARRISON CABLES 105002A01F060
BRAD HARRISON 420R7 NSFP 420R7
BRAD HARRISON SDS11A-0500 NSFP SDS11A0500
BRAD HARRISON 309000A01F120 NSFP 309000A01F120
BRAD HARRISON 3R2006A20M005 NSFP 3R2006A20M005
BRAD HARRISON 47003 NSFP 47003
BRAD HARRISON 775B30K01A090 NSFP 775B30K01A090
New Brad Harrison QC 4P 10/4 Cordset CC4030A48M033
Brad Harrison 884A31A09M010 In-Line Splitter 4P Female
Brad Harrison 22907 Safety Plug Red NEW Free Ship
BRAD HARRISON 102A163 USPP 102A163
BRAD HARRISON 36274 NSFP 36274
Brad Harrison Multi Port Interconnect BTY401P-FBB
BRAD HARRISON 114030K12M300 NSFP 114030K12M300
BRAD HARRISON 1300070145 NSFP 1300070145
BRAD HARRISON 32639 USPP 32639
BRAD HARRISON 331020A01F030 USPP 331020A01F030
BRAD HARRISON 775030A03F010 NSFP 775030A03F010
(QTY 3) NIB BRAD HARRISON 105000A01F120 5P FEMALE 41308
NEW BRAD HARRISON 114030K12M300 CORDSET
NEW BRAD HARRISON 113030K13M380 CORDSET 1300100499
BRAD HARRISON 105000C01F300 NSFP 105000C01F300
BRAD HARRISON 47402 NSFP 47402
BRAD HARRISON 885030K03M040 MICRO-CHANGE EXTENSION NEW
Brad Harrison Multi Port Interconnect System 803P401