1771-OB AB
随机应变——可裁剪
从硬件环境来看,桌面操作系统具有标准化的、存储和I/O架构,而嵌入式环境中的RTOS的硬件环境只有标准化的,没有标准化的存储、I/O和显示器架构。
从应用环境来看,桌面操作系统面向复杂多变的应用,而RTOS面向单一设备的单一应用。
从开发界面来看,桌面操作系统试图给开发提供一个“黑箱”,让开发通过一系列标准的系统调用来使用操作系统中的功能,而嵌入式试图为开发提供一个“白箱”,让开发可以自主控制系统的所有资源。
桌面操作系统的研究开发指导思想是尽可能在不改变自身的前提下具有广泛的适应。也就是说:不论应用环境怎么变化,好都不要对自身内部产生什么影响,也不要求自身做太多的变化。反过来,应用于嵌入式环境的RTOS,在研发的时候就必须立足于改变自身、开放自身,让开发可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能拿进来即可。
应当指出的是:如果一个操作系统平台只能依靠手工的方式去掉一些代码,这根本就不是可裁剪。所谓可裁剪是在软件工程阶段利用软件配置方法实现软件构件的“即插即用”。
可裁剪带给用户的一个直接的好处是硬件成本降低,这对于成本敏感的应用,如消费电子类设备,具有重要的现实意义。由于设备中只包含应用程序用到的那部分操作系统功能,这就使得系统变得简单、易把握,从而提高系统的可靠。
到位——实时
许多人都把实时理解为速度快。那么,速度快到什么程度才算是达到实时呢?其实,所谓实时,其核心含义在于确定,而不是单纯的速度快。也就是说,RTOS所要求的是在规定的时间内做完应该做的事情,并且操作系统的行为(执行线索)是确定的,这是写出高可靠程序的基础。如果完成同样的动作,有的时候快,有的时候慢,且执行线索千差万别,程序员无法把握,可靠就无从。
嵌入式系统为什么对实时要求那么高呢?因为嵌入式系统主要是对仪器设备的动作进行监测控制的,而一般的桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作。相对而言,仪器设备的动作具有严格的、机械的时序要求,而人的动作和反应在时序上并不那么严格。比如,用于控制火发动机的嵌入式系统,它所发出的指令不仅要速度快,而且多个发动机之间的时序要求严格,否则就会差之毫厘、谬之千里。在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的。
INDRAMAT TDM1.2-100-300-W1
INDRAMAT TDM-1.2-30-300-W0
Indramat KDF1.2-100-300-W1-2
INDRAMAT TDM-1.2-30-300-W1
INDRAMAT MAC090B-0-PD-3-C/110-A-1 MAC090B0PD3C/110A1
Indramat MKD 041B-144-KG0-KN
Indramat MDD090B-N030-N2M-110PB1
INDRAMAT TVD 1.2-15-03 TVD1.2-15-03
Indramat 1.2.50-300W1
INDRAMAT RAC 3.1-150-460-A0I-Z1-220
Indramat TDM 1,2-100-300-W1-220
Indramat DKC02.3-016-7-NN-FW
INDRAMAT r TDM-3.2-020-300-W0
Indramat MKD041B-144-KG0-KN
Indramat MDD090B-N040-N2M-110PA2
INDRAMAT 160C-835LL1-8S13/SO11 2AD160C-835LL1-8S13
Indramat 1.2.50-300W1
Indramat DKC02.3-040-7-FW
INDRAMAT MAC112B-3-PD-2-C/130-B-0
Indramat MAC112B-0-LD-2-C/130-A-1
INDRAMAT MDD112C-N-015-N2M-130PA1
INDRAMAT HDS02.2-W040N-H DSS02.1M HSM01.1-FW
INDRAMAT MOD1/1X657-028
INDRAMAT r TVD1.2-08-03 TVD-1.2-08-03
INDRAMAT MAC115B-0-DS-4-C/180-B-1/WI522LV
Indramat 063A-0-ES-3-C/095-A-0
Indramat 03.1-040-7-FW
Indramat DKC021.3-100-7-FW
Indramat MDD65C-N-060-N2L-095GA0
Indramat MAC090A-0-RD-3-C/110-B-0/S001
INDRAMAT TDM 4.1-020-300-W0
Indramat TDM 3.2-20-300-W0
Indramat MDKD071B-061-KP0-KN
INDRAMAT MAC112C-0-ED-3-C/180-A-2/S029
Indramat MAC090B-0-ND-3-C/110-A-0
Indramat BZM01.3-01-07
Indramat MKD041B-144-KG0-KN
Indramat 2AD134D-B350A1-DS06-A2N1
Indramat MDC1.1F/S3-0/S017
Indramat MAC063D-0-FS-1-C/095-B-1-100500/S001
INDRAMAT IKG 021 / INK0650 10m
Indramat DKC11.3-100-7-FW
Indramat Modul 1/1×693-411