从硬件环境来看,桌面操作系统具有标准化的、存储和I/O架构,而嵌入式环境中的RTOS的硬件环境只有标准化的,没有标准化的存储、I/O和显示器架构。
从应用环境来看,桌面操作系统面向复杂多变的应用,而RTOS面向单一设备的单一应用。
从开发界面来看,桌面操作系统试图给开发提供一个“黑箱”,让开发通过一系列标准的系统调用来使用操作系统中的功能,而嵌入式试图为开发提供一个“白箱”,让开发可以自主控制系统的所有资源。
桌面操作系统的研究开发指导思想是尽可能在不改变自身的前提下具有广泛的适应。也就是说:不论应用环境怎么变化,好都不要对自身内部产生什么影响,也不要求自身做太多的变化。反过来,应用于嵌入式环境的RTOS,在研发的时候就必须立足于改变自身、开放自身,让开发可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能拿进来即可。
应当指出的是:如果一个操作系统平台只能依靠手工的方式去掉一些代码,这根本就不是可裁剪。所谓可裁剪是在软件工程阶段利用软件配置方法实现软件构件的“即插即用”。
可裁剪带给用户的一个直接的好处是硬件成本降低,这对于成本敏感的应用,如消费电子类设备,具有重要的现实意义。由于设备中只包含应用程序用到的那部分操作系统功能,这就使得系统变得简单、易把握,从而提高系统的可靠。
到位——实时
许多人都把实时理解为速度快。那么,速度快到什么程度才算是达到实时呢?其实,所谓实时,其核心含义在于确定,而不是单纯的速度快。也就是说,RTOS所要求的是在规定的时间内做完应该做的事情,并且操作系统的行为(执行线索)是确定的,这是写出高可靠程序的基础。如果完成同样的动作,有的时候快,有的时候慢,且执行线索千差万别,程序员无法把握,可靠就无从。
嵌入式系统为什么对实时要求那么高呢?因为嵌入式系统主要是对仪器设备的动作进行监测控制的,而一般的桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作。相对而言,仪器设备的动作具有严格的、机械的时序要求,而人的动作和反应在时序上并不那么严格。比如,用于控制火箭发动机的嵌入式系统,它所发出的指令不仅要速度快,而且多个发动机之间的时序要求严格,否则就会差之毫厘、谬之千里。在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的。
NEW DEPUROIL Oil Filter and transfer unit 230V
Agilent 19091S-433I GC Column 30mx0.25mmx0.25um
New EUCHNER TZ2LE024RC18VAB-C1826 Safety Switch 085180
New EUCHNER TZ2RE024RC18VAB-C1826 Safety Switch 085181
Endress + Hauser CPS11-2BA2ESA Liquid Analysis Sensor
Agilent G1543-60510 PPIP-Ship Kit NEW
SOR 397288-108A10 Temperature Switch NEW 5-107 Deg C
Applied Biosystems GeneAmp 9700 Mainboard & Power AsIs
Agilent G3160-65309 Type E Tray & Vial for I-AS NEW
Phoenix Contact IBS CT 24 IO GT-T IBSCT24IOGT-T InterBu
Endress+Hauser Liquiphant FTL330L-RGB2S PN:942201-0020
NCR 445-0714204 NID CONTROL BOARD Interior Dispenser
Andrew Power Amplifier RF100308 PARM 900 NTN065GA Notel
Applied Material 0050-89963 Parker 54016047 955LP Valve
EATON ROLL/YAW TRIM 441-40456-001 SAGEM 251524189-0102
New EUCHNER CEM-A-LH10K-S3 Limit Switch 095170
HP Agilent 05518-60003 Laser Control Reference Board
Wartsila filter cartridge 471024002 for W20 W4L20/7786
Cooper Cleco 542778-2M Cable ASM 2M 300V
OKUMA Fixed 4 Rack A911-2904 E4809-770-132 Motherboard
Analog Devices ADZU-BF533-EZLITE evaluation board NEW
SKC AirChek 52 224-52 & Charger Power Flex 223-2000
Adapter for 80C2-D1F Engine Generator Sold As Is
Aircraft Part TUBE F0301 340-130-401-0 FA9C4 Sold As Is
Suunto T6C Watch SS013579010 Data cable Heart Rate NIB
33000pcs PROTEK DEVICES #49021 Nailhead Pins Silver NEW
Lot of 11 Honeywell ROD End NSA8159-014E Airbus $30/pc
Lot 500 HARWIN M22-714 M22-7142042 DIL Vertical Socket
Molex JHTR1719C 0011260007 Hand Crimp Tool NEW
Agilent ZORBAX Eclipse XDB-C18 990967-902 4.6*250 5 NEW
50181010 Stahlwille 730N/10 Torque Wrench 20-100Nm
BARMAG DRIVER Board ED292-60-3Z for FK6-1000 New Part
Telemecanique XPS-BC XPSBC1110 SAFETY RELAY 300V 2.5A
BW SR-B04 Sensor CO2 123875
New EUCHNER RGBF06D12-502-M Limit Switch 082316
MKS Baratron Pressure Transducer 872B-26890 New Spare
SIEMENS 6ES7 138-4HA00-0AB0 6ES71384HA000AB0 NEW
Endress + Hauser CPS11-2AA2ESA Liquid Analysis Sensor
New EUCHNER Safety Switch TZ1LE024MVAB 083965
QUALICOMM espresso CARD 30-VR209-P2 30-VR208-P2