刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题三(25分)

阅读以下关于安全攸关嵌入式系统相关技术的描述,在答题纸上回答问题 1 至问题 3。

【说明】

某公司机电管理系列产品被广泛应用于飞行器后,现场事故频繁发生,轻则飞机座舱显示机电设备工作异常,重则系统预警,切入备份运行。这些事故给航空公司带来重大经济损失。

公司领导非常重视航空公司的问题反馈,责令公司王总带队到现场进行故障排查。经过一个多月的排查,故障现象始终未复现,同时,公司实验室内也在反复出现故障,结果未取得显著成效,但发现产品存在偶然丢失协议包的现象。随后,公司领导组织行业专家召开故障分析会。王总在会上对前期故障排查情况进行了说明,指出从外场现象看 CCDL协议包丢失是引起系统报警、切换的主要原因。图2-3给出了机电管理产品的工作原理,机电管理系统主要承担了对飞行器的刹车、燃油和环控等子系统进行监视与控制,它对飞行器而言是安全攸关系统,因此,从系统结构上采用了双余度计算机系统。具体工作流程简要说明如下:

1.机电管理系统由1号计算机和 2号计算机组成,双机互为余度备份。

2.双机中分别驻留了一个 100ms 周期的CCDL任务,完成双机间的交叉对比和实时监控等工作。10ms 定时器作为任务的工作频率。

3.交叉对比协议包包含一组“AA55”报头、消息长度、数据和校验码。

4.2号机将协议包通过422总线发送给1号机(422 总线接口芯片有8级缓冲)。

5.1号机通过中断方式将422总线数据接收到大环形缓冲区中(大小为4096B)。

6.100ms的CCDL定时任务将大环形缓冲区的数据以512B为单位拷贝到小环形缓冲区中(大小512B)。

7.CCDL任务按照协议包格式解析小环形缓冲的数据,如果校验错误,丢弃当前协议包;

8.在协议包格式正确的情况下,进行数据交叉比对,比对正确则输出;比对不正确,并连续不正确超过门限,则报警。 

针对安全攸关系统软件设计方法中,C语言代码的安全编码规范问题,说明表2-3给出的C语言代码不符合C语言安全编码标准(如:MISAR C标准)的原因。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

(1)不允许。if…else语句中,if必须由else子句结束。

(2)不允许。switch语句中,最后子句应该是 default 子句;且每个switch语句至少应有一个case子句。

(3)不允许。禁止参数指针赋值给过程指针。

(4)不允许。禁止将过程声明为指针类型。

(5)不允许。禁止同一个表达式中调用多个相关函数。

(6)不允许。禁止对指针变量使用强制类型转换赋值。

解析:

根据上述分析,这些不允许的代码结构都是为了确保C语言程序的安全性和稳定性。遵循C语言安全编码规范可以确保代码的可读性、可维护性和健壮性,减少程序出错的可能性。在安全攸关系统中,遵循这些规范尤为重要,因为这关系到系统的安全性和可靠性。

创作类型:
原创

本文链接:针对安全攸关系统软件设计方法中,C语言代码的安全编码规范问题,说明表2-3给出的C语言代码不符合C语

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share