查看更多
当前 - 选择题 - 软件架构风格
中等
单选题
2020年11月第10题
#第二版教材
#了解即可

软件脆弱性是软件中存在的弱点(或缺陷),利用它可以危害系统安全策略,导致信息丢失、系统价值和可用性降低。嵌入式系统软件架构通常采用分层架构,它可以将问题分解为一系列相对独立的子问题,局部化在每一层中, 从而有效地降低单个问题的规模和复杂性,实现复杂系统的分解。但是,分层架构仍然存在脆弱性。常见的分层架构的脆弱性包括(【底层发生错误会导致整个系统无法正常运行、层与层之间引入通信机制势必造成性能下降】)等两个方面。

问题(1)
浓缩知识点

层次化架构是嵌入式系统软件常用架构,通过将复杂系统分解为相对独立的分层模块,能有效降低问题规模与复杂性,实现解耦。但该架构存在两类典型脆弱性:一是底层依赖传导风险,由于架构遵循上层依赖下层的规则,底层模块一旦出现故障,会向上影响所有依赖它的上层模块,严重时可导致整个系统无法正常运行,例如嵌入式系统的硬件抽象层若出现错误,会直接波及驱动层、应用层等所有上层组件;二是层间通信性能损耗,层与层之间需通过特定接口或通信机制完成交互,这类额外的调用、封装操作会产生性能开销,对于对实时性要求严苛的嵌入式场景,这种损耗可能成为系统性能的关键瓶颈。在架构设计中,可通过底层模块冗余备份、优化层间通信协议等方式,针对性缓解这类脆弱性带来的影响。

正确答案
B

本题考察的是层次化架构风格的脆弱性分析
层次化架构虽然具有低耦合、依赖关系简单等优点,但其局限性也很明显。上层只能依赖于下层,一旦底层出现错误,所有依赖它的上层模块都会受到影响,可能导致系统整体瘫痪。此外,层与层之间通常需要通过接口或通信机制进行交互,这不可避免地引入了性能开销,从而成为一种脆弱性。
A选项 底层发生错误会导致整个系统无法正常运行、层与层之间功能引用可能导致功能失效:前半句正确,但“功能引用可能导致功能失效”并不是分层架构典型的脆弱性描述,错误。
B选项 底层发生错误会导致整个系统无法正常运行、层与层之间引入通信机制势必造成性能下降:两点都准确描述了分层架构的脆弱性,正确。
C选项 上层发生错误会导致整个系统无法正常运行、层与层之间引入通信机制势必造成性能下降:上层错误不会导致整个系统失效,只会影响该部分功能,错误。
D选项 上层发生错误会导致整个系统无法正常运行、层与层之间功能引用可能导致功能失效:同样上层错误影响局部而非整体,错误。
因此选择 B。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有