探析汽车电子嵌入式操作系统的隔离保护机制
2015-05-30卢从娟
卢从娟
【摘要】 本文针对汽车电子嵌入式操作系统的隔离保护机制进行了简要探讨。
【关键词】 汽车电子 嵌入式操作系统 隔离 分区 保护
本要做好汽车电子嵌入式操作系统的隔离保护,就需要根据实际中的有限的硬件条件与软件资源,以符合汽车电子嵌入式操作系统操作系统与其应用,还有对应的工作和中断服务流程等方面的隔离保护要求。汽车电子嵌入式操作系统的隔离保护机制可以高效地降低分页数量,并增强汽车操作系统的性能与其内部存储空间的利用程度。应用了相应的隔离保护机制的汽车电子嵌入式操作系统可以在单独的ECU系统中集成来源不同与安全级别不同的各类软件。
一、汽车电子嵌入式操作系统的隔离保护机制的目标
为了符合汽车电子与其操作系统的实时性的特定要求,本文针对这一特定的应用领域的规范标准提出了一种将硬件平台与软件资源相结合的隔离保护机制,以分层的形式做到隔离保护。并且,这样可充分发挥硬件平台本身所具备的保护作用,减少隔离保护对于硬件资源的需求。同时,基于汽车电子嵌入式操作系统的软件平台,可以针对操作系统系统的安全性进行加强,满足细粒度的隔离保护要求。
二、隔离保护机制的整体架构
2.1 整体架构
根据一般汽车电子嵌入式操作系统所采用的硬件设备,其隔离保护机制中的隔离保护一般包含了如下几个层级:
1)第一级保护
第一级保护主要指的是对于汽车操作系统的保护,一般是以汽车所使用的处理器的运行模式为基础,对于各类应用的访问内存的行为进行权限审核与控制,以将操作系统分区跟应用分区进行隔离,加强对于汽车操作系统的保护。
2)第二级保护
第二级保护主要指的是应用隔离,在实际中主要是针对各类应用的非操作系统访问进行控制,并检查其页编号匹配与否,这样可以做到将不同的应用分区进行隔离。
3)第三级保护
第三级保护主要指的是执行体隔离,要实现应用分区的内部隔离,就需要分离应用中的任务、中断服务程序等不同执行体所需要的栈空间为基础进行隔离。
2.2 第一级保护与第二级保护
第一级保护与第二级保护是以MPU、MMU等硬件所支持的分页方式为基础的[1]。目前,各类处理器一般所使用的分页地址转换方式为如下过程:有效地址会在指令的执行时生成,并与地址空间标识以及用来维护系统即时的应用分区号的PID寄存器相结合,然后将其生成的虚拟地址与TLB中的页表项进行匹配、比较。每个TLB中的页表项中含有实际页地址、访问权限数据与相应的物理分页的TID号码的记录。当根据有效地址、地址空间标识、PID寄存器所生成的虚拟地址与TLB中的页表项相匹配时,放可正常地进行地址转换,最终产生实际物理地址。在汽车电子嵌入式操作系统的实际工作中,有可能产生不匹配的状态有以下两种:
1)在TLB中无法找到与之相匹配的有效页地址
这种状态通常会出现TLB未命中异常的情况。此时需要在该异常处理程序中进行TLB表项替换,即页面置换。若在进行TLB表项替换后仍无法与找到该有效页地址相匹配的页表项,就表示被访问的页不存在。此时应当进入保护错误处理。
2)有效页地址与TLB相匹配,但TLB中的TID无法与PID相匹配
这种状态通常会出现TLB未命中异常的情况,也就是权限违例。此异常被用于实现不同应用分区之间的隔离,意味着出现了一个应用访问其他应用私有页面的情况。
对于以上情况,为做到第一级保护与第二级保护,可以把单独的不可信的应用分区进行划分,分成1个数据段以及1个代码段。同时,将可信的应用与操作系统分区进行划分,分成1个数据段与系统调用接口段、核心代码段。最后将每个段都分配至分离的内存页面中去,以做到以MMU硬件所拥有的分页机制为基础的隔离保护。
2.3 第三级保护的分离栈策略
若在对于应用内部的任务、中断服务程序等不同执行体之间的数据访问的隔离中应用分页,就必须划分出独立的内存页,以供不同执行体的数据使用。如此一来,就会使得系统的资源消耗大大增加,并对系统的整体性能产生影响。所以,为了达到隔离保护分区内部细粒度的要求,应当使用分离栈策略,也就是为不同的用户、任务以及操作系统等提供独立的栈以供使用。不过,这类独立的栈并不需要独立的内存页。在这些独立的栈所属的应用的数据页面,只需要进行分配操作,而维护管理则通过操作系统来进行[2]。最终完成第三级的隔离保护。
三、结束语
在汽车电子嵌入式操作系统中应用相应的隔离保护机制,可以将不同来源、不同安全完整性的应用、软件集合在一个ECU系统当中。这样有助于实现整个系统符合高安全等级的要求,最终到达汽车电子控制系统对于安全性的要求。
参 考 文 献
[1]James Stegen.数字隔离器:解决汽车xEV应用中的设计难题[J].世界电子元器件,2013,(5)
[2]曹银波,张志永,沈康等.离子电流检测系統的抗干扰设计[J].同济大学学报(自然科学版),2012,40(9)