操作系统基础知识介绍之Mixed CriticalitySystems——混合关键系统
创始人
2024-05-30 01:28:35
0

一、发展背景

在嵌入式场景中,虽然Linux已经得到了广泛应用,但并不能覆盖所有需求,例如高实时、高可靠、高安全的场合。这些场合往往是实时操作系统 的用武之地。有些应用场景既需要Linux的管理能力、丰富的生态又需要实时操作系统的高实时、高可靠、高安全,那么一种典型的设计是采用一颗性能较 强的处理器运行Linux负责富功能,一颗微控制器/DSP/实时处理器运行实时操作系统负责实时控制或者信号处理,两者之间通过I/O、网络或片外 总线的形式通信。这种方式存在的问题是,硬件上需要两套系统、集成度不高,通信受限与片外物理机制的限制如速度、时延等、软件上Linux和实时 操作系统两者之间是割裂的,在灵活性上、可维护性上存在改进空间。

受益于硬件技术的快速发展,嵌入式系统的硬件能力越来越强大,如单核能力不断提升、单核到多核、异构多核乃至众核的演进,虚拟化技术和可信执行环境(TEE) 技术的发展和应用,未来先进封装技术会带来更高的集成度等等,使得在一个片上系统中(SoC)部署多个OS具备了坚实的物理基础。

同时,受应用需求的推动,如物联网化、智能化、功能安全与信息安全等等,整个嵌入式软件系统也越发复杂,全部由单一OS承载所有功能所面临的挑战越来越大。 解决方式之一就是不同系统负责所各自所擅长的功能,如Windows的UI、Linux的网络通信与管理、实时操作系统的高实时与高可靠等,而且还要易于开发、部署、 扩展,实现的形式可以是容器、虚拟化等。

面对上述硬件和应用的变化,结合自身原有的特点,嵌入式系统未来演进的方向之一就是 混合关键性系统(MCS, Mixed Criticality System), 这可以从典型的 嵌入式系统-汽车电子的最近发展趋势略见一斑。

二、相关实例

从openEuler Embedded的角度,混合关键性系统的大致架构如上图所示,所面向的硬件是具有同构或异构多核的片上系统,从应用的角度看会同时部署多个OS/运行时,例如 Linux负责系统管理与服务、1个实时操作系统负责实时控制、1个实时操作系统负责系统可靠、1个裸金属运行时运行专用算法,全系统的功能是由各个OS/运行时协同完成。中间的 混合部署框架嵌入式虚拟化 是具体的支撑技术。关键性(Criticality)狭义上主要是指功能安全等级,参考泛功能安全标准IEC-61508,Linux可以达到SIL1或SIL2级别, 实时操作系统可以达到最高等级SIL3; 广义上,关键性可以扩展至实时等级、功耗等级、信息安全等级等目标。

三 、解决问题与发展前景

在这样的系统中,需要解决如下几个问题:

  • 高效地混合部署问题:如何高效地实现多OS协同开发、集成构建、独立部署、独立升级

  • 高效地通信与协作问题: 系统的整体功能由各个域协同完成,因此如何高效地实现不同域之间高效、可扩展、实时、安全的通信

  • 高效地隔离与保护问题: 如何高效地实现多个域之间的强隔离与保护,使得出故障时彼此不互相影响,以及较小的可信基(Trust Compute Base)

  • 高效地资源共享与调度问题: 如何在满足不同目标约束下(实时、功能安全、性能、功耗),高效地管理调度资源,从而提升硬件资源利用率

对于上述问题,openEuler Embedded的当前思路是 混合关键性系统 = 部署 + 隔离 + 调度 , 即首先实现多OS的混合部署,再实现多OS之间的隔离与保护,最后通过 混合关键性调度提升资源利用率, 具体可以映射到 混合部署框架嵌入式虚拟化。 混合部署框架解决 高效地混合部署问题高效地通信与协作问题, 嵌入式虚拟化解决 高效地隔离与保护问题高效地资源共享与调度问题

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...