到位——实时性
许多人都把实时性理解为速度快。那么,速度快到什么程度才算是达到实时性呢?其实,所谓实时性,其核心含义在于确定性,而不是单纯的速度快。也就是说,RTOS所要求的是在规定的时间内做完应该做的事情,并且操作系统的行为(执行线索)是确定的,这是写出高可靠性程序的基础。如果完成同样的动作,有的时候快,有的时候慢,且执行线索千差万别,程序员无法把握,可靠性就无从保证。
嵌入式系统为什么对实时性要求那么高呢?因为嵌入式系统主要是对仪器设备的动作进行监测控制的,而一般的桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作。相对而言,仪器设备的动作具有严格的、机械的时序要求,而人的动作和反应在时序上并不那么严格。比如,用于控制火箭发动机的嵌入式系统,它所发出的指令不仅要速度快,而且多个发动机之间的时序要求严格,否则就会差之毫厘、谬之千里。在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的。
如果我们所开发的设备并不是像航空航天器那样生命攸关或者生产控制那样的关键任务系统,而是像消费电子类那样,即使出现错误也不会造成灾难性后果的设备,那么实时性(严格地讲是确定性)是否还具有现实意义呢?答案是肯定的!设备的高可靠性可以有效地降低维护成本;软件运行效率高也会降低对的要求,从而降低硬件成本。对于消费电子产品这类价格十分敏感的产品,实时性、可靠性仍然是值得重视的问题。
坚如磐石――可靠性
桌面操作系统与RTOS相比,另一个差别就是对于稳定性、可靠性方面的设计思路。一方面,桌面操作系统比较庞大、复杂,而RTOS比较小巧、简捷,而“越简单、越可靠,越复杂、故障概率越大”这又是一个常理。另一方面,更重要的是:桌面操作环境与嵌入式环境在设计思路上有一个重大的不同——桌面环境假定应用软件与操作系统相比而言可以是不可靠的,而嵌入式环境假定应用软件与操作系统一样可靠。
运行于嵌入式环境中的RTOS要求应用软件具有与操作系统同样的可靠性,这种设计思路对应用开发人员提出了更高的要求,同时也要求操作系统自身足够开放。
的“木桶原理”告诉我们,局部的不足会导致整体的缺陷。要保证系统的可靠性,必须保证系统中每一个部分都是可靠的,任何部分的不可靠都会导致系统整体的不可靠。大多数桌面系统都是上千万行代码的庞大而复杂的系统,即使有源代码程序员也难以把握。而且对开发人员来说,桌面系统庞杂的细节是隐蔽在一个个的固定的接口下的,是一个黑箱,很难把握具体执行的线索。即便其内核是足够可靠的,但它的应用环境复杂多样、千差万别,其中常常有一些应用并不是那么稳定可靠,从而破坏了整体系统的可靠性。相反,RTOS对软件开发人员来说是完全开放的,是一个白箱,允许开发人员清楚地了解和掌握操作系统内部情况,对存储器中的每一位和每一个I/O接口进行操作控制,从而可以设计出高效稳定的应用软件。
可编程控制器(PROGRAMMABLE CONTROLLER,简称PC)。与个人计算机的PC相区别,用PLC表示。
PLC是在传统的顺序控制器的基础上引入了微电子技术、计算机技术、自动控制技术和通讯技术而形成的一代新型工业控制装置,目的是用来取代继电器、执行逻辑、记时、计数等顺序控制功能,建立柔性的程控系统。国际电工委员会(IEC)颁布了对PLC的规定:可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存贮器,用来在其内部存贮执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字的、模拟的输入和输出,控制各种类型的机械或生产过程。可编程序控制器及其有关设备,都应按易于与工业控制系统形成一个整体,易于扩充其功能的原则设计。
490NAA27101 490NAA27101 490NAA27101 140ENETSW01 140ENETSW01 ENETSW01 ENETSW01
490NAA27102 490NAA27102 490NAA27102 140ENETSW01IAT 140ENETSW01IAT ENETSW01IAT ENETSW01IAT
490NAA27103 490NAA27103 490NAA27103 140ERT85410 140ERT85410 ERT85410 ERT85410
490NAA27104 490NAA27104 490NAA27104 140ERT85410IAT 140ERT85410IAT ERT85410IAT ERT85410IAT
490NAA27106 490NAA27106 490NAA27106 140ESI06210 140ESI06210 ESI06210 ESI06210
990NAD21110 990NAD21110 990NAD21110 140ESI06210C 140ESI06210C ESI06210C ESI06210C
990NAD21130 990NAD21130 990NAD21130 140ESIO6210 140ESIO6210 ESIO6210 ESIO6210
990NAD23000 990NAD23000 990NAD23000 140HLI34000 140HLI34000 HLI34000 HLI34000
990NAD23010 990NAD23010 990NAD23010 140HLI34000C 140HLI34000C HLI34000C HLI34000C
990NAD23011 990NAD23011 990NAD23011 140MMS42500 140MMS42500 MMS42500 MMS42500
990NAD23020 990NAD23020 990NAD23020 140MSB10100 140MSB10100 MSB10100 MSB10100
990NAD23021 990NAD23021 990NAD23021 140MSC10100 140MSC10100 MSC10100 MSC10100
990NAD23022 990NAD23022 990NAD23022 140NOA61100 140NOA61100 NOA61100 NOA61100
990NAA21510 990NAA21510 990NAA21510 140NOA61110 140NOA61110 NOA61110 NOA61110
990NAD21810 990NAD21810 990NAD21810 140NOA62200 140NOA62200 NOA62200 NOA62200
990NAD21830 990NAD21830 990NAD21830 140NOC77100 140NOC77100 NOC77100 NOC77100
990NAD21910 990NAD21910 990NAD21910 140NOC77101 140NOC77101 NOC77101 NOC77101
990NAD21930 990NAD21930 990NAD21930 140NOE21100 140NOE21100 NOE21100 NOE21100
990NAD23012 990NAD23012 990NAD23012 140NOE21100C 140NOE21100C NOE21100C NOE21100C
ASMBKT085 ASMBKT085 ASMBKT085 140NOE21110 140NOE21110 NOE21110 NOE21110
ASMBKT185 ASMBKT185 ASMBKT185 140NOE21110C 140NOE21110C NOE21110C NOE21110C
ASMBPL001 ASMBPL001 ASMBPL001 140NOE25100 140NOE25100 NOE25100 NOE25100
NWBM85C002 NWBM85C002 NWBM85C002 140NOE25100C 140NOE25100C NOE25100C NOE25100C
NWBM85D008 NWBM85D008 NWBM85D008 140NOE25110 140NOE25110 NOE25110 NOE25110
NWBM85S232 NWBM85S232 NWBM85S232 140NOE25110C 140NOE25110C NOE25110C NOE25110C
NWBM85S485 NWBM85S485 NWBM85S485 140NOE31100 140NOE31100 NOE31100 NOE31100
NWBP85002 NWBP85002 NWBP85002 140NOE31100C 140NOE31100C NOE31100C NOE31100C
NWRR85001 NWRR85001 NWRR85001 140NOE35100 140NOE35100 NOE35100 NOE35100
TSXCUSB485 TSXCUSB485 TSXCUSB485 140NOE35100C 140NOE35100C NOE35100C NOE35100C
TSXCUSB232 TSXCUSB232 TSXCUSB232 140NOE51100 140NOE51100 NOE51100 NOE51100
TSXCUSBMBP TSXCUSBMBP TSXCUSBMBP 140NOE51100C 140NOE51100C NOE51100C NOE51100C
990NAA26320 990NAA26320 990NAA26320 140NOE55100 140NOE55100 NOE55100 NOE55100
990NAA26350 990NAA26350 990NAA26350 140NOE55100C 140NOE55100C NOE55100C NOE55100C
UNYXCAUSB033 UNYXCAUSB033 UNYXCAUSB033 140NOE77100 140NOE77100 NOE77100 NOE77100
110XCA28201 110XCA28201 110XCA28201 140NOE77100C 140NOE77100C NOE77100C NOE77100C
110XCA28202 110XCA28202 110XCA28202 140NOE77101 140NOE77101 NOE77101 NOE77101
110XCA28203 110XCA28203 110XCA28203 140NOE77101C 140NOE77101C NOE77101C NOE77101C
140CFA04000 140CFA04000 140CFA04000 140NOE77110 140NOE77110 NOE77110 NOE77110
140CFB03200 140CFB03200 140CFB03200 140NOE77110C 140NOE77110C NOE77110C NOE77110C
140CFC03200 140CFC03200 140CFC03200 140NOE77111 140NOE77111 NOE77111 NOE77111
140CFD03200 140CFD03200 140CFD03200 140NOE77111C 140NOE77111C NOE77111C NOE77111C
140CFE03200 140CFE03200 140CFE03200 1401100 1401100 1100 1100
140CFG01600 140CFG01600 140CFG01600 140NOL91100 140NOL91100 NOL91100 NOL91100
140CFH00800 140CFH00800 140CFH00800 140NOL91110 140NOL91110 NOL91110 NOL91110
140CFI00800 140CFI00800 140CFI00800 140NOL91120 140NOL91120 NOL91120 NOL91120
140CFJ00400 140CFJ00400 140CFJ00400 140NOM21100 140NOM21100 NOM21100 NOM21100
140CFK00400 140CFK00400 140CFK00400 140NOM21100C 140NOM21100C NOM21100C NOM21100C
140CFU00600 140CFU00600 140CFU00600 140NOM21200 140NOM21200 NOM21200 NOM21200