应当指出的是:如果一个操作系统平台只能依靠手工的方式去掉一些代码,这根本就不是可裁剪。所谓可裁剪是在软件工程阶段利用软件配置方法实现软件构件的“即插即用”。
可裁剪带给用户的一个直接的好处是硬件成本降低,这对于成本敏感的应用,如消费电子类设备,具有重要的现实意义。由于设备中只包含应用程序用到的那部分操作系统功能,这就使得系统变得简单、易把握,从而提高系统的可靠。
到位——实时
许多人都把实时理解为速度快。那么,速度快到什么程度才算是达到实时呢?其实,所谓实时,其核心含义在于确定,而不是单纯的速度快。也就是说,RTOS所要求的是在规定的时间内做完应该做的事情,并且操作系统的行为(执行线索)是确定的,这是写出高可靠程序的基础。如果完成同样的动作,有的时候快,有的时候慢,且执行线索千差万别,程序员无法把握,可靠就无从保证。
嵌入式系统为什么对实时要求那么高呢?因为嵌入式系统主要是对仪器设备的动作进行监测控制的,而一般的桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作。相对而言,仪器设备的动作具有严格的、机械的时序要求,而人的动作和反应在时序上并不那么严格。比如,用于控制火箭发动机的嵌入式系统,它所发出的指令不仅要速度快,而且多个发动机之间的时序要求严格,否则就会差之毫厘、谬之千里。在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的。
如果我们所开发的设备并不是像航空航天器那样生命攸关或者生产控制那样的关键任务系统,而是像消费电子类那样,即使出现错误也不会造成灾难后果的设备,那么实时(严格地讲是确定)是否还具有现实意义呢?答案是肯定的!设备的高可靠可以有效地降低维护成本;软件运行效率高也会降低对的要求,从而降低硬件成本。对于消费电子产品这类价格十分敏感的产品,实时、可靠仍然是值得重视的问题。
坚如磐石――可靠
桌面操作系统与RTOS相比,另一个差别就是对于稳定、可靠方面的设计思路。一方面,桌面操作系统比较庞大、复杂,而RTOS比较小巧、简捷,而“越简单、越可靠,越复杂、故障概率越大”这又是一个常理。另一方面,更重要的是:桌面操作环境与嵌入式环境在设计思路上有一个重大的不同——桌面环境假定应用软件与操作系统相比而言可以是不可靠的,而嵌入式环境假定应用软件与操作系统一样可靠。
Shimaden SR25 Digital Controller SR25-2P-N-10699009
Yodogawa Denki Seisakusho TCN5T electric blower GOOD
Olympus UMPlanFL 20x/0.46 inf/0 Objective *NICE*
MKS Type 252 252C-11009 Exhaust Valve Controller *GOOD*
MKS Type 252 252D-1-VPO Exhaust Valve Controller *GOOD*
HP Agilent 16754A Module w/ 60 day Warranty
Hitachi CWS510/B CWS51 PH Rev. C CPU Module
Hitachi CWS220/A CWS22 PH Rev. B Interface
Digitest DWU tollgrade LMCCCBAAAA 900-0230 Rev B
Tektronix P6960 probe with Warranty
Olympus MSPlan 10x 0.30 ∞/- f=180 IC10 Objective
Tektronix 7T11A Sampling Sweep Unit
Nikon BD Plan 20/0.4 210/0 20x ELWD Objective NICE!!
Fujinon T10x6DA-M41 or T10x6DA-M71 TV Lens NICE
NEAT XYZ Joystick for 300 series controllers
Thorlabs WM100 Omega Meter
Tylink 7400-SNAC Network Executive SNMP Contr. MINT
HP Agilent 16712A 16710-66504 Refurb Analyzer Board
Zeiss Epiplan-Neofluar 5x/0.15 Objective inf/0 44 23 20
MOVO Servan SVDL124-P *56G2 SVDL224-P *56G2 Motor Drive
Olympus BH3-5NRE-M Microscope Motorized Noisepiece NICE
Vexta DFU1514W 5-phase driver w/ Warranty
Vexta UDK5107NW2 5-phase driver w/ Warranty
Electrocraft Reliance Electric E19-2 Servo motor
HP 34505B 34505C RF Multiplexer
Olympus BH2-UMA Vertical Illuminator with B/F D/F cubes
Zeiss Epiplan 10x/0,20 infinity/0 objective Mint cond.
Melec D-551A PM Driver
Panasonic MSD021A1XX AC servo driver
Yaskawa ServoPack SGDM-04ADA
Fujinon D16-7.3A-M41 TV-Zoom Lens 16x
Sti Mini Safe 4600 Light Curtain Set MS46-20-260
Aera FC-980C TC CF4 100SCCM Mass Flow Controller
Aera FC-D980C TC CF4 100SCCM Mass Flow Controller
Aera FC-D980C TC O2 50SCCM Mass Flow Controller
Aera FC-980C TC O2 10SCCM Mass Flow Controller
Aera FC-980C TC N2 1000SCCM Mass Flow Controller
Delta Electronika 1200S24 power supply GOOD
KLA Tencor Dual Fan Blower JDSU Laser Cooling
Olympus U-LH100 Microscope Halogen Lamp Housing Source
HP A series Computer Mainframe 2436G Option 015/151
Portable Power Systems PPS Laser Diode Driver Control.
Telco Systems M6043-C1-2/D FXS/BR
CRNS 14371.0005 ENI4CC0AAA LIM230-5 Trunk Rev A1 and C
TYLINK DC Power Module BD Assy PC 700449 Rev A – NEW
Agilent 16715A Module w/ 30 days warranty
DBI 30000354 Full Size ISA I/O Card
Matrox PIP-512B S/N 8524 Full Size ISA Video Card
HP 34520 34520A 34520B 6 1/2 Digit DMM Module
Keithley 7063 500 Mhz RF Relay Switch Card
Drager Polytron 2 Eex ia I Gas Analyzer
Nikon CF Plan 20x/0.46 ∞/0 EPI W.D. 3.1 Objective MINT
Nikon CF Plan 50x/0.80 ∞/0 EPI WD 0.54 Objective MINT
Olympus BH2-HLSH 80/100 Lamp Housing & power supply