P0970VB FOXBORO
如果我们所开发的设备并不是像航空航天器那样生命攸关或者生产控制那样的关键任务系统,而是像消费电子类那样,即使出现错误也不会造成灾难后果的设备,那么实时(严格地讲是确定)是否还具有现实意义呢?答案是肯定的!设备的高可靠可以有效地降低维护成本;软件运行效率高也会降低对的要求,从而降低硬件成本。对于消费电子产品这类价格十分敏感的产品,实时、可靠仍然是值得重视的问题。
坚如磐石――可靠
桌面操作系统与RTOS相比,另一个差别就是对于稳定、可靠方面的设计思路。一方面,桌面操作系统比较庞大、复杂,而RTOS比较小巧、简捷,而“越简单、越可靠,越复杂、故障概率越大”这又是一个常理。另一方面,重要的是:桌面操作环境与嵌入式环境在设计思路上有一个重大的不同——桌面环境定应用软件与操作系统相比而言可以是不可靠的,而嵌入式环境定应用软件与操作系统一样可靠。
运行于嵌入式环境中的RTOS要求应用软件具有与操作系统同样的可靠,这种设计思路对应用开发提出了高的要求,同时也要求操作系统自身足够开放。
木桶原理”告诉我们,局部的不足会导致整体的缺陷。要系统的可靠,必须系统中每一个部分都是可靠的,任何部分的不可靠都会导致系统整体的不可靠。大多数桌面系统都是上千万行代码的庞大而复杂的系统,即使有源代码程序员也难以把握。而且对开发来说,桌面系统庞杂的细节是隐蔽在一个个的固定的接口下的,是一个黑箱,很难把握具体执行的线索。即便其内核是足够可靠的,但它的应用环境复杂多样、千差万别,其中常常有一些应用并不是那么稳定可靠,从而破坏了整体系统的可靠。相反,RTOS对软件开发来说是完全开放的,是一个白箱,允许开发清楚地了解和掌握操作系统内部情况,对存储器中的每一位和每一个I/O接口进行操作控制,从而可以设计出稳定的应用软件。