飞控
已有 663 次阅读2015-1-15 12:51
当你要构建高可靠性系统的时候,比如飞控,你要做假设,一切都有可能犯错,处理器会犯错,编译器会犯错,程序设计人员更有可能犯错。
计算机表决不是硬件冗余这么简单。如果我没有记错的话,空客 A320 的飞控使用两种不同的芯片,当然也适用不同的编译器,共同编译相同的飞控程序,通过计算机表决的方式来规避处理器和编译器的错误。
更进一步是异构软件,参与表决的计算机,不仅仅硬件是不同的,软件也是不同的。如果我没有记错的话,波音 777 的飞控里面其实有两套,一套是新研制的,功能先进的飞控。一套是老的飞控。老的飞控用于对新飞控进行“监控”,一旦操纵指令超出了老飞控的边界,就认为新飞控是错的。
如果某些飞机,为了所谓的成本而省略了这些机制,这种飞机,我可不敢坐。