探析汽车电子嵌入式操作系统的隔离保护机制

2021-01-11 20:25朱全胜
科学与生活 2021年27期
关键词:汽车

摘要:在机动车的电子嵌入式操作系统中,隔离保护机制可以将来源以及完整性不一样的应用软件整合到一致的ECU系统中以确保整合和软件系统能够达到标准的安全等级,以保障其次电子操作系统对于安全性的需求。当然对于部分硬件设施不足而且对时间需求较高的其次电子嵌入式操作系统来说,隔离保护机制的应用的确存在一定的难度,因此为了确保加强隔离保护机制的性能,在开发过程中一定要充分整合汽车的软硬件资源,以提升隔离保护机制和汽车硬件系统的兼容性。

关键词:汽车;电子嵌入式操作系统;隔离保护机制

随着我国科技和经济的飞速发展,机动车的电子操作系统越来越完善,功能越来越多,同时也越来越复杂。而电子控制单元作为实现各系统之间通信和交互的重要设备,一辆汽车中会装备八十个左右,这也是现代汽车的主要发展趋势之一。而电子隔离保护机制作为保障汽车电子嵌入式操作系统安全性和可靠性的重要机制,近几年随着汽车电子操作系统的发展也变得愈发重要,人们对于电子隔离保护机制的需求和研究也在逐渐深入。

一、汽车电子嵌入式操作系统隔离保护机制的研究价值

汽车软件系统可以被划分为两个部分,分别为操作系统和应用系统。其中操作系统的作用是将系统内核、存储软件、通信诊断软件、输入输出控制以及外部设备的基础模块整合在依靠可靠的系统分区中。而在逻辑上,应用层的软件会划分到不同的应用中,部分应用属于非信赖、运行模式为非特权模式的系统分区,而另一部分应用则和操作系统一直,属于可信赖而且在特权运行模式的系统中。AUTOSAR规定了每个不同软件之间的隔离保护以及基础软件和操作软件之间的隔离保护机制,而且为了达成一定的安全限制,AUTOSAR也规定了根据程序数据、代码以及栈不同的分段来分别对应用、操作系统和执行体这三个基本的隔离保护措施以及规范。

二、汽车电子嵌入式操作系统隔离保护机制的总体架构

1、整体架构。在根据其次电子嵌入式操作系统所配置的硬件设备中,其隔离保护机制中应当采用以下一个层级的隔离保护机制:首先是第一级别的隔离保护,主要是对汽车操作系统进行保护,通常来说,这一保护机制的基础是汽车的处理器,并且对各种应用访问内存时所产生的权限进行审核以及控制,对操作系统和应用的分区进行隔离,以确保汽车的操作系统能够得到有效保护。其次是二级隔离保护,二极保护主要是应用层的隔离,目标是对各种应用分区进行隔离。最后则是三级隔离保护,也就是针对执行体的隔离,以确保能够对应用分区进行内部隔离,需要对应用中不同的执行体所用到的栈空间进行隔离,其中包括了任务以及中断服务程序,进而确保实现从内部隔离应用分区这一目标。这三类保护级别始终存在于操作系统的几个大模块中,这几个功能模块包括了系统的初始化、系统的管理和维护以及系统的异常处理。

2、一级和二级隔离保护。一级和二级隔离保护在MPU和MMU等支持的分页方法为基础展开保护。如今大部分处理器所应有的分页地址转化的过程如下:在指令执行的过程中会生成一个有效地址,并且跟地址的空间标识以及PID寄存器相融合,而PID寄存器主要是实现系统的实时分区号,进而将实时分区号所形成的虚拟地址与TLB中所含有的页表项也进行匹配和比较,在各个TLB页表项中会包含有访问权限的相关数据,实际页的地址、对应物理分页的TID号码等记录。若是根据有效地址以及地址空间标识和PID寄存器等所产生的虚拟地址和TLB中含有的页表项能够相匹配,那边可以将地址有效转换从而形成一个实际的物理地址。

在应用到汽车电子嵌入式操作系統中时,很难出现每次都能正常匹配的情况,甚至会出现无法匹配的情况,这种情况几乎可以分为两种:首先是在TLB中无法找到有效页的地址与之相匹配,这种情况通常会在TLB无法命中从而出现异常的情况,这时需要在异常处理程序中对TLB进行转换,也就是置换其页面,若是TLB表项在被替换后依然出现找不到与之匹配的有效页地址有关的页表项,那说明目标访问页是不存在的。而在这种条件下容易出现错误保护的情况。其次则是TLB以及有效页的地址能够相互匹配,不过在TLB中的TID 无法和PID进行匹配,这种情况通常发生在TLB出现无法命中的异常情况,也就是出现权限违反相关条例的情况,这种异常通常会用于隔离不同应用的分区工作中,也就是说发生了某应用在访问别的应用私有页面的情况,如果TID是0的话,PID可能出现任何值都不会出现TLB没有命中的异常情况,而这个特点应用到操作系统分区的主要原因是方便操作系统能够提供应用的共享服务,因此为了不会出现处于使用者模式下应用代码非法访问操作系统的代码以及数据空间,需要对TLB表项中的权限进行充分的应用,并且结合处理器的工作模式以及即将需要访问空间的数据、代码以及属性等等进行控制,其中有六个权限信息位:第一个是特权模式下的可读也就是SR;第二个是可写也就是SW;第三个是可执行也就是SX;第四个是用户模式下的可读也就是UR;第五个则是用户模式下的可写也就是UW;第六感则是用户模式下的可执行也就是UX。若是地址在转换出现权限不匹配的话则会发生TLB权限违反相关条例的异常状况。

而上述可能发生的状况主要是为了对一级和二级隔离保护能够有效实现,并且能够划分出独立且不能信赖的应用分区,具体可以分成两个主要的部分,首先是数据段,而另一个则是代码段。而且将应用以及系统划分成可信赖的分区也会分成两个部分,第一个部分同样是数据段,而第二个部分则是核心代码段以及系统调用接口段。最后则是把每段分配到已经进行分离的内存页面进而实现隔离保护机制的应用,而该隔离保护机制的基础便是MMU必须要具备的分页机制。

3、三级隔离保护的分离栈措施。第三季隔离保护是以分页机制以及处理器模式作为基础,不过只能够隔离开操作系统以及应用分区,或者对不同的应用分区进行隔离。若是将分机制页应用在隔离应用内部的不同执行体之间的数据访问,就必须要给各个执行体数据或者栈来提供完全不需要依存于任何系统的内存页,而这种样的话也可能会出现造成系统负担过大的情况,对于整个系统的正常运转和维持正常性能是非常不利的。因此利用分离栈的措施以达成对系统进行保护的用途 ,也就是给操作系统,各个应用的运行任务以及各个用户ISR以独立的栈,不过所提供的这些栈并不会占据内存页,所分配的位置也是他们所属应用或者其内核的数据,而且可以将整个操作系统进行维护以达到三级隔离保护的目的。

与此同时,隔离保护也可能会出现潜在的错误问题,主要是在TLB未命中异常处理中发现应用方法访问;或者应用非法访问操作系统产生权限违规的异常情况。其中OS调用保护HOOK函数会传递出错误类型,因此需要根据错误类型来选择合理的解决措施。

三、结语

总的来说,只有根据实际情况以及使用需求来利用好有限的汽车软硬件资源,才能对汽车的电子嵌入式操作系统展开有效的保护工作,进而能够充分满足汽车操作系统所需求的安全性和稳定性。汽车电子嵌入式操作系统的隔离保护机制能够对分页的数量起到充分降低和控制的效果,而且对于汽车整个操作系统性能的提高也是非常有帮助的,还能够让系统内部的存储空间得到最高效的利用,因此这样的隔离保护机制有着非常广阔的研究以及发展前景,必然也会对汽车行业的发展起到一定的促进性作用,因此我们一定要加强对隔离保护机制的研发力度,大力扶持隔离保护机制的创新,确保我国的汽车行业水平能够得到进一步提升。

参考文献:

[1]陈丽蓉,燕立明,罗蕾.汽车电子嵌入式操作系统的隔离保护机制[J].电子科技大学学报,2014,43(03):450-456.

[2]卢从娟.探析汽车电子嵌入式操作系统的隔离保护机制[J].中国新通信,2015,17(15):100.

[3]李伟. 高可靠嵌入式操作系统的构建与配置研究[D].南京航空航天大学,2010.

作者简介:朱全胜(1994.10.25-)男,汉族,籍贯河北省沧州市,研究生学历,研究方向——linux设备驱动开发 嵌入式软件开发

猜你喜欢
汽车
2019年8月汽车产销环比增长 同比仍呈下降
2019年7月汽车产销同比继续收窄
2019年4月汽车产销环比和同比均呈较快下降
不抢道
买汽车
汽车的“出卖”
汽车
汽车们的喜怒哀乐
3D 打印汽车等
会飞的汽车