首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

静态分析如何提高多核平台的安全性

静态分析如何提高多核平台的安全性

多核处理器在嵌入式设备中无处不在,但是对于开发安全关键型设备来说,仍然是一个重大挑战。多核处理器提供真正的并发性,意味着需要真正多线程的编程,这仍旧很难处理。在任务关键型软件中,静态分析是关键,因为它可以捕捉到传统测试(例如单元、功能和系统测试)遗漏的缺陷,及开发者花费数个小时甚至许多天才能解决的缺陷。在安全与保安关键型系统中,多核平台的优势必须大于风险。
安全关键型系统中的多核
多核处理器及其相应的硬件平台为安全关键型系统提供许多重要的功能:
1.分区:一个单一硬件单元可以通过虚拟分区安装多个操作系统和应用软件。多核CPU为强大的分区提供性能和处理器支持。
2.分割:类似于分区,但是可以将系统关键部分与非关键部分分割开来。例如,嵌入式平台可以安装一个实时操作系统,来控制一个带用户界面的强大且多功能的操作系统。
3.整合:多核平台在单一平台上提供分割功能,大幅减少产品所需的材料成本。提高单位电压的处理器性能会降低运行成本。
但是,多核处理器为多线程软件引进了真实且基于硬件层级的并发功能,而在开发编程中非常难侦测并解决潜在缺陷。尽管在极端情况下,可以向单一线程操作系统中强制施加安全关键性代码,但是效率却非常低。选择适当的并发程序设计和正确的工具可以使得多核处理器上编程的风险较低。
传统单元测试与多核并发编程比较
一般来说,单元测试假设为单线程操作系统——为预计输出提供输入和输出检查。在多线程编程中,“单元”之间的关系复杂,正确的测试方法是需要优先考虑的因素。多核平台加入了真实的硬件并行行,这就意味着线程是真实并行运行的。此外,事件在系统中的计划和调度变得不确定,因为指令交错在可用的处理器内核(或者超线程CPU线程)中。下图显示了从两个指令和两个线程到三个指令与两个线程之间交错的复杂性。根据安全关键程度,这可能会被禁止。如果不禁止,那么就意味着需要特别小心,以确保正确操作。
返回列表