嵌入式系统的安全、可靠与运行时错误日志管理
1. 避免安全关键软件
提升软件安全性有两种通用方法。一是添加非软件安全机制,确保软件故障时系统仍安全;二是采用专为安全关键系统设计的软件设计方法。若条件允许,可引入简单可靠的硬件组件保障系统安全,使软件不再是安全关键因素,具体有以下几种途径:
1.1 关键功能的硬件实现
将关键功能交由硬件执行,非关键功能留给软件。不过,此假设仅适用于相对简单的硬件,可编程逻辑和复杂芯片易出现设计错误。例如,保险丝在电流过大时熔断,或双金属盘式机械温控器控制温度。在采用这种方法时,硬件必须完全确保安全,软件不能危及安全。实际应用中,使用硬件实现关键功能的系统,常利用软件进行监控和人机交互,硬件负责实际控制。
1.2 关键功能的硬件门控
完全用硬件进行关键控制会牺牲系统效率和性能,而软件可优化系统性能。硬件门控方法能结合软件功能和硬件安全优势。例如,软件控制的热水器,若软件使水温过高可能导致烫伤,硬件门控架构可通过机械温度传感器连接开关,水温过高时开关打开,阻止软件继续加热。该方法适用条件如下:
- 存在无需软件即可轻松测量且可用于控制门的属性。
- 门可用于禁用执行器。
- 门禁用执行器时,系统能保持安全或迅速恢复到安全状态。
- 能够检测系统即将变得不安全的时刻以触发门,或者系统在门打开并恢复到安全状态的短暂时间内处于轻微不安全状态是可接受的。
1.3 硬件安全关机
当软件试图执行不安全操作时,完全关闭软件,这是故障安全行为的基础。例如,可使用类似断路器的机制,当系统出现不安全情况时,切断微控制器的电源输入。简单的关机系
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



