嵌入式环境给人的印象就是占用空间小。所以,普通的Linux或者Windows操作系统要变成嵌入式操作系统,首先就是要进行裁剪。然而,与桌面环境相比,嵌入式环境对于操作系统系统要求不仅仅是“小”,二者在设计要求上有着本质的不同。这些不同主要体现在可裁剪、实时和可靠等三个方面。
随机应变——可裁剪
从硬件环境来看,桌面操作系统具有标准化的、存储和I/O架构,而嵌入式环境中的RTOS的硬件环境只有标准化的,没有标准化的存储、I/O和显示器架构。
从应用环境来看,桌面操作系统面向复杂多变的应用,而RTOS面向单一设备的单一应用。
从开发界面来看,桌面操作系统试图给开发提供一个“黑箱”,让开发通过一系列标准的系统调用来使用操作系统中的功能,而嵌入式试图为开发提供一个“白箱”,让开发可以自主控制系统的所有资源。
桌面操作系统的研究开发指导思想是尽可能在不改变自身的前提下具有广泛的适应。也就是说:不论应用环境怎么变化,好都不要对自身内部产生什么影响,也不要求自身做太多的变化。反过来,应用于嵌入式环境的RTOS,在研发的时候就必须立足于改变自身、开放自身,让开发可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能拿进来即可。
应当指出的是:如果一个操作系统平台只能依靠手工的方式去掉一些代码,这根本就不是可裁剪。所谓可裁剪是在软件工程阶段利用软件配置方法实现软件构件的“即插即用”。
可裁剪带给用户的一个直接的好处是硬件成本降低,这对于成本敏感的应用,如消费电子类设备,具有重要的现实意义。由于设备中只包含应用程序用到的那部分操作系统功能,这就使得系统变得简单、易把握,从而提高系统的可靠。
到位——实时
许多人都把实时理解为速度快。那么,速度快到什么程度才算是达到实时呢?其实,所谓实时,其核心含义在于确定,而不是单纯的速度快。也就是说,RTOS所要求的是在规定的时间内做完应该做的事情,并且操作系统的行为(执行线索)是确定的,这是写出高可靠程序的基础。如果完成同样的动作,有的时候快,有的时候慢,且执行线索千差万别,程序员无法把握,可靠就无从保证。
Allen Bradley 1784-T30GR Allen Bradley Operator Interface
Allen Bradley 1784-T50B Allen Bradley Programme Terminal
Allen Bradley 1785-ENETB Allen Bradley PLC-5 Ethernet Module
Allen Bradley 1785-KA Data Highway/Data Highway Plus Comms Adaptor
Allen Bradley 1785-KA5B Allen Bradley DH+/DH485 Gateway
Allen Bradley 1785-KA5PB DH+/DH485 Communications Adaptor
Allen Bradley 1785-L11B PLC-5/11 Processor Module
Allen Bradley 1785-L20B Allen Bradley 5/20 Processor Module
Allen Bradley 1785-L30B Allen Bradley 5/30 Processsor Module
Allen Bradley 1785-L40B PLC5/40 Processor Module
Allen Bradley 1785-L40C15/F 5/40 Controlnet Processor Module
Allen Bradley 1785-L40E PLC5/40 Ethernet Processor Module
Allen Bradley 1785-L40E/E PLC5/40 Ethernet Processor Module
Allen Bradley 1785-L60B Allen Bradley PLC-5/60 Processor Module
Allen Bradley 1785-L80C15/E Allen Bradley PLC5/80 Controlnet Processor Module
Allen Bradley 1785-LT Allen Bradley PLC5/15 Processor Module
Allen Bradley 1785-LT2 PLC-5/25 Processor Module
Allen Bradley 1785-LT3 Allen Bradley PLC5/12 Processor Module
Allen Bradley 1785-LT4 Allen Bradley PLC-5/10 Processor Module
Allen Bradley 1793-IE2X0E1 Allen Bradley Analogue Module
Allen Bradley 1793-IE2X0E2 Allen Bradley Analogue Module
Allen Bradley 1794-0A16 Allen Bradley 120V AC 16 way Output Module
Allen Bradley 1794-IE4X0E2 Allen Bradley I/O Mddule
Allen Bradley 2092-DA3 Allen Bradley 3.3 Amp Ultra 1500 Inverter
Allen Bradley 2094-BM0 Kinetix 6000 Bulletin 2094 9A Axis Module
Allen Bradley 2098-DSD-005-SE Allen Bradley Ultra3000
Allen Bradley 2098-DSD-010-SE Allen Bradley Ultra 3000 Servo Drive
Allen Bradley 2098-DSD-010X Allen Bradley Ultra3000i Servo Drive
Allen Bradley 2098-DSD-030-SE Allen Bradley Ultra 3000 Servo Drive
Allen Bradley 2098-IPD-010-DN Allen Bradley Ultra5000 AC Drive
Allen Bradley 20AC011A0 Allen Bradley 5.5Kw Inverter
Allen Bradley 20AC022A0AYNANNN Allen Bradley Powerflex 11Kw Inverter
Allen Bradley 20AC030A0A Allen Bradley Powerflex 70 Inverter
Allen Bradley 20AC5P0A0AYANANN Allen Bradley Powerflex 2Kw Inverter
Allen Bradley 20AC5P0A1AYYANN Allen Bradley Powerflex 70 2Kw Inverter
Allen Bradley 20AD1P1A0 AYNNNNN PowerFlex 70 0.37Kw Inverter