
简单直接地开始编程的诱惑总是很大的。如果采用这种方法,将来可能不得不付出安全和保护方面的代价。设计适当的软件体系结构可以...
简化接口,减少必须被视为与安全相关的代码量,提升模块化,帮助测试和验证,简化与非安全相关的软件的变更管理,支持更严格的硬件设计,简化代码。关于简化的目的,我喜欢以下一句话:发人深省的引语


图1-关于软件设计的著名报价

IEC 61508-3中的V模型将软件体系结构步骤显示为收集需求和软件设计之间的步骤。这是确定基本软件安全策略(包括使用冗余和多样性)的步骤。它还涉及为主要组件和子系统分配功能,并决定如何互连它们。


IEC 61508-3:2010中的图2-V模型
机械标准IEC 62061给出了软件体系结构的一些最佳说明,包括下图。这张图片并非专门针对软件,但我认为它表达了主要思想。


图3摘自机械安全标准IEC 62061
如果体系结构不支持安全和非安全软件之间的充分隔离,则需要根据安全标准来开发所有软件。如果软件具有混合安全完整性,那么不支持足够独立性要求的体系结构将导致所有软件都按照任何模块的最高安全完整性进行开发。
显然,软件架构需要与硬件架构协调。如果系统包含三个微控制器/微处理器,其中一个用于运行控制软件,另外两个微控制器/微处理器每个运行一个安全通道,则每个微控制器/微处理器都可以具有自己的软件体系结构以完全隔离,并且默认情况下,独立性是默认设置。要在单个处理器中实现相同的目标,将需要在架构规划上付出更多的努力。
除了划分子系统和组件之外,该体系结构还应该描述控制流,但这是未来博客的主题。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shouji/article-325191-1.html
为美企输送资金助其度过难关
日本鬼子几次都是在赌国运而已