[讨论] 谈谈嵌入式系统的可靠性(一)

djyos   2012-8-2 08:53 楼主
    许多的操作系统,在宣传自己的优异性时,不外乎上下文切换时间多么短、占用系统资源多么少、功能模块多么多、线程间通信手段多么丰富。谈到可移植性时,不外乎说自己的C语言率多么高,移植需要修改的代码行多么少,等等!这些方面,都非常重要,但并不全面,主要是从操作系统本身出发看问题。嵌入式操作系统的核心要素是可靠性、实时性和可移植性。要从嵌入式产品的整体效果出发,例如可靠性,不能光考虑操作系统的可靠性,更多地,应考虑由操作系统和应用程序构成的整个产品的可靠性。可移植性也一样,关注操作系统本身的可移植性重要,更应该关注应用程序可移植性。
1.     正确理解可靠性
谈到操作系统的可靠性,许多人会把焦点集中在操作系统本身是否可靠稳定,在运行中是否会出错等。这完全是一厢情愿、闭门造车的想法,就像一个汽车设计工程师,大谈特谈其设计的汽车本身如何可靠,开多少年都不会坏,却闭口不谈乘客是否安全。
在这里,我先给可靠性一个定义:
嵌入式操作系统的可靠性,表现为应用程序在该操作系统支持下可靠运行的能力。
注意,是用户产品可靠,这对通用操作系统和嵌入式操作系统的要求,是有区别的。通用操作系统中,运行许多应用程序,一个应用程序挂了,操作系统要保证其他应用程序不受影响,故操作系统本身可靠性非常重要。而嵌入式系统呢?嵌入式系统只有一个应用程序在跑,唯一的应用程序挂了,即使操作系统本身正常,又有什么意义呢?因此,嵌入式系统的可靠性,更多地强调支持应用程序可靠,这也是嵌入式操作系统的一个设计难点。
影响用户产品的可靠性因素,可以分解为:
1、  操作系统可靠。
2、  应用程序可靠。
3、  应用程序要正确地使用操作系统
以上三点,无论哪一个出现问题,都将导致用户的产品缺陷。
操作系统作为众多用户、众多产品的公共模块,理应得到更多的考核、验证、反馈、修正的机会,更加容易保证其正确性。
而用户的应用程序则不然,它的正确性,主要靠研发企业的测试来保证,用户的验证和反馈也很有限,是容易出问题的地方。产品缺陷,主要来自两个方面:
1、  应用程序本身业务逻辑存在bug
2、  应用程序没有正确地使用操作系统。
正是由于应用程序容易出问题,所以应该特别注意,操作系统作为基础软件,责无旁贷,绝对不能仅仅着眼于自己是否可靠。再强调一句,嵌入式系统中,如果应用程序挂了,操作系统再坚挺,都毫无意义。
对于操作系统来说,降低自身缺陷固然重要,但如果能在帮助应用程序减少错误方面做点工作,对提高用户应用程序可靠性,贡献更大。djyos主要从以下两个方面,帮助应用程序减少缺陷:
 
提示词:如果您需要查看本帖隐藏内容,请登录或者注册
坚持就是胜利,希望大家多多支持,http://www.djyos.com

回复评论 (5)

点赞  2012-8-21 12:50
点赞  2012-8-21 13:00
有pdf文档吗?
点赞  2012-8-27 10:50
www.djyos.com有详细的文档和源码。
坚持就是胜利,希望大家多多支持,http://www.djyos.com
点赞  2012-8-27 11:31
关注打酱油,关注国产OS!
点赞  2012-8-28 22:37
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复