干扰无孔不入,无从防范...没任何人敢说永不死机或程序飞,否则航天飞机不会掉下来.
我们做软件的只能从软件的角度上全面分析,从中找出一些不起眼但往往最致命的原因.
程序是代码的组合,是"外星人组成的天书",没人能读懂,至少没人能知道有多少种不同的逻辑组合.
程序是人编写的,但内部不可能没有数据!!!
对人是数据,但对机器来说取的是数据,但在数据运行就是程序了!!!
这就是C++的类---数据和代码的集合.
任何数据的毁坏或代码段地址的改变,都是硬件干扰强加给软件的产物!!!
编软件的看不到"干扰"!!!但却能通过采样的数据和RAM等的变化来"测试"出干扰的到来!!!
像OS一样,软件抗干扰也缺少不了定时器!!!它不停的节拍增加了抵抗干扰的机遇.
所以,定时中断将是保护的首要目标.
像OS的强夺一样,在程序飞后也可认为它是个"废弃的任务","节拍中断"时将完成 1次"废弃任务切换",永不返回此"任务"!!!
说很容易,但难点是如何知道这个"废弃的任务",如何测试!!!
如何"调查废弃的任务所带来的损害"???
所以异常事件的纠错能力就是我们搞软件的课题...
有几个用户愿意看到买来的"商品"(对我们叫"产品")频繁死机或复位!!!
没几个用户爱听你滔滔不绝的"看门狗理论",也不会听"复位之理由"!!!
故个人认为软件抗干扰应该以防御为主,强制为辅的原则行事.
|
|
文章评论(0条评论)
登录后参与讨论