VE3006 EMERSON
从开发界面来看,桌面操作系统试图给开发提供一个“黑箱”,让开发通过一系列标准的系统调用来使用操作系统中的功能,而嵌入式试图为开发提供一个“白箱”,让开发可以自主控制系统的所有资源。
桌面操作系统的研究开发指导思想是尽可能在不改变自身的前提下具有广泛的适应。也就是说:不论应用环境怎么变化,好都不要对自身内部产生什么影响,也不要求自身做太多的变化。反过来,应用于嵌入式环境的RTOS,在研发的时候就必须立足于改变自身、开放自身,让开发可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能拿进来即可。
应当指出的是:如果一个操作系统平台只能依靠手工的方式去掉一些代码,这根本就不是可裁剪。所谓可裁剪是在软件工程阶段利用软件配置方法实现软件构件的“即插即用”。
可裁剪带给用户的一个直接的好处是硬件成本降低,这对于成本敏感的应用,如消费电子类设备,具有重要的现实意义。由于设备中只包含应用程序用到的那部分操作系统功能,这就使得系统变得简单、易把握,从而提高系统的可靠。
到位——实时
许多人都把实时理解为速度快。那么,速度快到什么程度才算是达到实时呢?其实,所谓实时,其核心含义在于确定,而不是单纯的速度快。也就是说,RTOS所要求的是在规定的时间内做完应该做的事情,并且操作系统的行为(执行线索)是确定的,这是写出高可靠程序的基础。如果完成同样的动作,有的时候快,有的时候慢,且执行线索千差万别,程序员无法把握,可靠就无从。
嵌入式系统为什么对实时要求那么高呢?因为嵌入式系统主要是对仪器设备的动作进行监测控制的,而一般的桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作。相对而言,仪器设备的动作具有严格的、机械的时序要求,而人的动作和反应在时序上并不那么严格。比如,用于控制火发动机的嵌入式系统,它所发出的指令不仅要速度快,而且多个发动机之间的时序要求严格,否则就会差之毫厘、谬之千里。在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的。
FANUC A13B-0070-B001 TAPE READER UNIT A13B0070B001 HIT
SIEMENS OVERLOAD CIRCUIT BREAKER 3VE1017-21Z 3VE101721Z
FANUC I/O BOARD A20B-0007-0040 A20B00070040 A350-0007-
SIEMENS OVERLOAD CIRCUIT BREAKER SG 4AS S G 4A S SG4AS
HARDINGE SUPER SLANT GN-3#15 TOOLHOLDER TURRET TOOL H
VICKERS FLUI-TROL MINIATURE VALVE DG4M4-32-20-JA DG4M43
VICKERS FLUI-TROL MINIATURE VALVE DG4M4-32A-20-JA DG4M4
VICKERS FLUI-TROL MINIATURE VALVE DG4M4-32C-20-JA DG4M4
NACHI S-G01-C6-GRZ-D2-32 SG01C6GRZD232 CNC VALVE
ANILAM PCB 801 901-175 REV C 801 901 175 REV C SUPER MA
AIR FILTER AIR REGULATOR F72G-3AN-AE1 L72C-3AP-QEN R72G
CNC LEBLOND MAKINO FNC 74 A30 HONDA MR-50W CABLES
TAIYO A299A 10A-5R RFA63R59-DAE2 SWITCHSET CYLINDER
HARDINGE SUPER SLANT GN-3 CNC LATHE TOOL#14 TURRET TO
CNC MACHINE EM WORK LIGHT LAMP 12V 55W
TAIYO AIR CYINDER MATSUURA MC-500V2
SANDVIK COROMANT QUICK CHANGE TOOLING TOOLHOLDER 23 CNC
TAIYO CNC HYDRAULIC CYLINDER 1TC40C70N550-B0 1TC40C70N5
SANDVIK COROMANT QUICK CHANGE TOOLING TOOLHOLDER CNC L
SANDVIK COROMANT QUICK CHANGE TOOLING TOOLHOLDER 14 CNC
SANDVIK COROMANT QUICK CHANGE TOOLING TOOLHOLDER 12 CNC
SANDVIK COROMANT QUICK CHANGE TOOLING TOOLHOLDER CNC
HEIDENHAIN ROD 436.001 5000 220 543 01 ENCODER*AS IS*
MITSUBISHI NO-FUSE BREAKER TYPE NF225-CB NF225CB CNC
SHOWA YMAS-6 SHOWA YMAS-6 PART#5 TREE MILLENNIUM 3200
MITSUBISHI NF225-CB/150 USPP NF225CB150 150 AMP