软件锁步冗余执行等安全机制是一种用于提高软件系统的功能安全性和可靠性的技术。它的基本思想是让两个或多个软件副本执行相同的功能,然后比较它们的输出,以检测和处理可能的故障¹²。不同的安全机制有不同的特点和优缺点,例如:
锁步(lock-step):两个 CPU 内核执行完全相同的代码,每个内核都将输出反馈给一个比较逻辑模块。如果输出不一致,说明有故障发生。这种方法简单有效,但是浪费了一个内核的性能²。
冗余执行(redundant execution):两个独立的应用程序,运行在不同的 CPU 内核上,甚至在不同的虚拟机中。当应用的输出可用时,它们与额外的高安全完整性内核进行比较,以确保正确性。这种方法可以提高性能和灵活性,但是也增加了系统的复杂性和交叉检查的难度²。
分核锁(split-lock