到位——实时性
许多人都把实时性理解为速度快。那么,速度快到什么程度才算是达到实时性呢?其实,所谓实时性,其核心含义在于确定性,而不是单纯的速度快。也就是说,RTOS所要求的是在规定的时间内做完应该做的事情,并且操作系统的行为(执行线索)是确定的,这是写出高可靠性程序的基础。如果完成同样的动作,有的时候快,有的时候慢,且执行线索千差万别,程序员无法把握,可靠性就无从保证。
嵌入式系统为什么对实时性要求那么高呢?因为嵌入式系统主要是对仪器设备的动作进行监测控制的,而一般的桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作。相对而言,仪器设备的动作具有严格的、机械的时序要求,而人的动作和反应在时序上并不那么严格。比如,用于控制火箭发动机的嵌入式系统,它所发出的指令不仅要速度快,而且多个发动机之间的时序要求严格,否则就会差之毫厘、谬之千里。在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的。
如果我们所开发的设备并不是像航空航天器那样生命攸关或者生产控制那样的关键任务系统,而是像消费电子类那样,即使出现错误也不会造成灾难性后果的设备,那么实时性(严格地讲是确定性)是否还具有现实意义呢?答案是肯定的!设备的高可靠性可以有效地降低维护成本;软件运行效率高也会降低对的要求,从而降低硬件成本。对于消费电子产品这类价格十分敏感的产品,实时性、可靠性仍然是值得重视的问题。
坚如磐石――可靠性
桌面操作系统与RTOS相比,另一个差别就是对于稳定性、可靠性方面的设计思路。一方面,桌面操作系统比较庞大、复杂,而RTOS比较小巧、简捷,而“越简单、越可靠,越复杂、故障概率越大”这又是一个常理。另一方面,更重要的是:桌面操作环境与嵌入式环境在设计思路上有一个重大的不同——桌面环境假定应用软件与操作系统相比而言可以是不可靠的,而嵌入式环境假定应用软件与操作系统一样可靠。
Omron CS1H-CPU63 CPU Unit w/ CS1W-SCB21-V1 Serial Comm.
ITE Gould 5600 Breaker Size 3 14HSt32A MCC Bucket 150A
Modicon PC-E984-685 Programmable Controller PCE984685
Pacific Scientific SC322A-001 Servo Controller
Fanuc Robotics EE-4583-050 ENC/BRK Module; 7-axis 5V
GE Fanuc A20B-2902-0380/02A PC Daughter Board
Furnas 40JG32A* Size 4 135A Contactor 120V/60Hz Coil
Allen Bradley 1336-WB035 Braking Chopper AB 1336WB035
Fanuc Ltd. A20B-2902-0373/02A Memory Module 8MB DRAM
Square D Ground Censor Fault Sensor GT1330 Current 600V
Omron Sysmac C40K-CAR-A Programmable Controller
Cutler Hammer 150 Amp Bus Plug Breaker Switch IBP IBPFB
Telemecanique Altivar 58 ATV58HU41M2Z AC Drive 3HP/2.2k
Yaskawa ServoPack SGDB-30ADGY8 24.4A Unit SGDB30ADGY8
Yaskawa ServoPack SGDB-30ADMY8 24.8A Unit SGDB30ADMY8
Pacific Scientific SC322A-001 Servo Controller
Allen Bradley AB AC Drive 1336VT-B030-E0R-FA2-L3 30 HP
Westinghouse Breaker K FRAME AB DE-ION 225Amp A 1773619
Yokogawa 4151 mu-R 100 Chart Recorder u-R
Yokogawa 4152 mu-R 100 Chart Recorder u-R
SBC Motovariatori SBSV1453028 AC Servo Motor 6.62 kw
Square D Ground Censor Fault Sensor GT1224 Current 600V
GE General Electric 600 A Bussway Expansion Unit 3P 3W
Square D NQOD Main Breaker Panelboard 225 Amp A 225Amp
CTI Control Technology 901A-2500-R16-A 16-Slot Base I/O
Mitsubishi AJ72R25 Remote Data Link Melsec PLC AJ72 R25
Scott Bacharach Infra-Red Gas Transmitter 4600-IR 4688
Square D Circuit Breaker JKL3250 JKL3400F 250Amp A 250A
Telemecanique Altivar 71 ATV71HU30M3 AC Drive 4 HP NIB
Cutler Hammer WH KDB KDB3125W KT3125T KDB3125 125 A Amp
Telemecanique AltiStart 46 ATS46D38N 25 HP Soft Start
Invensys 122-12 Fluid/Gas Pressure Regulator
Mitsubishi FR-A240E-2.2K-UL Freqrol A200 3 HP Drive NIB
Square D H325 Disconnect Safety Switch 400 A Amp H 325
Square D Circuit Breaker KAF36225 1616 225Amp A 225 Amp
Square D Sz Size 4 8536SFO1H20S Motor Starter Logic 120
Equimeter 441 Regulator Type S Size 3 3.25 C1 441S NNB
Federal Pacific Breaker FPE HFJ631225 HFJ 225 A 225A
Square D I-Line Main Lug Panelboard 400 Amp 600 V 3P 3W
Fanuc A20B-2901-0050/01A PC Memory Board A20B29010050
Square D Sz Size 5 8536SGO1H20S Motor Contactor 480V
GE CR305W0**AYH Size 4 Motor Starter 5-Pole
Control Instruments Max1000(814.16&SNR406(XTR036)SNR330
Siemens Micromaster 6SE6440-2UD24-0BA1 5 HP VS Drive
Krohne IFM5090CX/D/HART/6 Electromagnetic Flowmeter
Sick Optic Electric DMH2-P11111 Height Profile Sensor
Square D I-Line MA36600 600A A 600 Amp W/ Shunt Trip
Westinghouse Molded Case Switch MC3800WK 800 Amp A 800A
Square D I Line Breaker ME836LIG 500Amp 500A 500 Amp A
Westinghouse Hagan Ring RB-6003 Circular Chart Recorder
Hitran Transformer 51 kVA 460/230Y/133 51kVA 3 PH 230 Y
NEMIC LAMBDA EWS600-24 24V Power Supply EWS60024
GE Fanuc IC600RM715K Data Storage IC600RM715-K
GE Fanuc IC600RB752K Device Switch IC600RB752-K
Westinghouse WH Size Sz 4 A200M4CW Motor Starter 240V
Bolted Pressure Contact Switch J365 X3 ST 400 Amp 600 V
Bolted Pressure Contact Switch J 365X3 400 Amp 600 Volt
ITE Sentron Series Breaker HF63F250 125Amp A 125A Trip
Yaskawa SGMGH-13A2A-YR13 AC Servo Motor 1.3 kW 3PH
Yaskawa SGMGH-13A2A-YR23 AC Servo Motor 1.3 kW 3PH
Yaskawa USAMED-44BA2K 4.4 KW 1000 RPM AC Servo Motor
Brown Boveri ABB Ground Fault Sensor 302T0737 GS G S CT
Square D I-Line Breaker KH36225 225A A 225Amp Amp
Rosemount 1151 Pressure Transmitter 1151GP7S2AT1157M7P2
Hevi – Duty 45 kVA 480/240/120V 3Ph Delta /Delta
Hevi – Duty Transformer 45 kVA 480/208Y/120 V 3Ph
Westinghouse 100 A Amp Busway Fusible Switch ITAPN363G
Magnetek GPD 506 V B008 5 HP 460V AC VS Drive NEW NIB
Square D Circuit Breaker MAL MAL36800 800 Amp 800A A
Siemens ITE NF355 Disconnect Switch 400 A Amp 600V 3PH
Square D Circuit Switch MHL360006M 600 Amp 600A A
Siemens Marq21 Size 3 Breaker Type MCC Bucket MCCB 100A
Rosemount 3051 Transmitter 3051S2CD4A2B12A1AE5M5 flange
Rosemount 1151GP7S22 Pressure Transmitter 1151 GP7S22
Square D HU365 Disconnect Safety Switch 400 A Amp HU365
Eclipse Controls DR4501-1000-10 Circular Chart Recorder
Square D I-Line Breaker LC36300 300Amp A 300A 300