论文部分内容阅读
摘 要:对于汽车电子嵌入式操作系统而言,运用隔离保护机制能够把来源和安全完整性不同的应用和软件共同集合到相同的ECU系统中,有利于实现整个软件系统符合安全等级的目标,满足汽车电子操作系统对安全性愈发严格的要求,不过,对于某些硬件资源受到限制并且对时间要求较高的汽车电子嵌入式操作系统来说,应用这种机制有一定的难度。所以,为了提升该机制的性能,应该采取有效的措施结合软、硬件资源,从而降低系统对硬件系统的要求。
关键词:汽车;电子嵌入式操作系统;隔离保护机制
受到经济发展和科技进步的推动,当前汽车电子操作系统的功能越来越多,也变得越来越复杂,一辆轿车中大约会装备八十个ECU,ECU即电子控制单元,它们之间会利用五中各种各样的总线系统进行通信和交互。隔离保护在确保汽车电子嵌入式操作系统可靠性和安全性方面发挥着重要的作用。近些年来,随着隔离保护机制的作用愈发明显,人们对它在汽车电子嵌入式操作系统中的研究也愈发深入。
一、汽车电子嵌入式操作系统的隔离保护机制的研究背景
软件分区分成两个部分,一部分是操作系统分区;另一部分是应用分区。操作系统的内核、负责进行存储的软件、进行通信诊断的软件、I/O控制、外设等各种不同的基础软件模块它们存在于一个值得信赖的并且运行模式是特权模式的系统分区当中[1]。在逻辑上,应用层的软件部件被划分至各种不同的应用当中,某些应用属于不值得信赖的、运行模式不是特权模式的系统分区当中,而另外一些应用和操作系统同样,也是位于值得信赖的并且运行模式为特权模式的系统分区当中。AUTOSAR规定实现各个不同的软件间的隔离保护和基础软件和应用软件这两种软件间的隔离保护,此外,为达到一些安全限制的目的,AUTOSAR规定还根据程序数据、代码以及栈等不同的分段规定了对应用和操作系统以及执行体这三个级别的隔离保护规范。
二、汽车电子嵌入式操作系统的隔离保护机制的总体架构
(一)总体架构
依据汽车电子嵌入式操作系统配置的硬件设备,它的隔离保护机制当中包含的隔离保护通常包含下面几个层级:首先,第一级的隔离保护,这一级保护指保护汽车的操作系统,通常而言,它的基础是汽车运用的处理器,审核和控制各种应用访问内存其行为进行的权限,隔离开操作系统与应用分区,保护汽车操作系统。其次,第二级的隔离保护,这一级保护指应用隔离,它主要控制各种应用非操作系统的访问,同时检查它的页编号是否匹配,从而隔离各种不同应用分区。最后,第三级的隔离保护,这一级保护指执行体隔离,达到对应用分区进行内部隔离的目的,需要分离应用当中各个不同的执行体(包括任务和中断服务程序)会用到的栈空间,从而实现内部隔离应用分区的目标[2]。
这三个不同保护级别的运行,始终贯穿于操作系统几大功能模块之中,这几个功能模块包括系统的初始化、管理和维护、异常处理。
(二)第一级隔离保护和第二级隔离保护
第一级隔离保护和第二级隔离保护的基础是MPU与MMU等支持的分页方法。当前,各种处理器运用的分页地址的转化方式的过程为:指令执行的时候,有效地址会生成,同时跟地址的空间标识和PID寄存器进行结合,PID寄存器的功能是危害系统的实时分区号,然后把它形成的虚拟地址跟TLB当中包含的页表项来相互比较与匹配。各个TLB页表项当中都有访问权限的相关数据、实际页的地址、对应物理分页TID号码的相应记录。如果参照有效地址以及地址空间标识与PID寄存器等形成的虚拟地址跟TLB当中包含的页表项两者是匹配的,那么就可以顺利的转换地址,从生成實际的物理地址[3]。
实际运用汽车电子嵌入式操作系统的时候,并非每次都是匹配的情况,还可能会有不匹配的情况,这种情况又可以分成两种:一是在TLB中找不到有效页的地址与它匹配,这种情况一般会发生在TLB没有命中出现异常的状况。这个时候要在这个异常处理的程序当中对TLB进行替换,也就是对页面进行置换。假如对TLB表项替换之后依旧找不到能够与这个有效页的地址匹配的相关的页表项,那么说明被访问的页是不存在的,这种条件下下要处理保护错误;二是TLB和有效页地址互相匹配,不过,TLB当中的TID不能跟PID匹配。这种情况一般会发生在TLB没有命中的异常状况,即发生权限违例。这种异常状况会用在隔离不同应用的分区工作中,说明发生了某个应用访问另一些应用的私有页面的状况。当TID是0的时候,PID是任何一个值都不会出现TLB没有命中的异常,这个特性用在达到操作系统分区的目的,从而便于操作系统提供给应用共享的服务。为了避免处在使用者模式之下的应用代码非凡访问操作系统的代码和数据空间,应当充分利用处于TLB表项之中的权限为,同时结合处理器当前的工作模式和即将需要访问空间的数据、代码、属性来进行控制。有六个权限信息位:一是特权模式下可读即SR;二是可写即SW;三是可执行即SX;四是用户模式下可读即UR,五是可写即UW;六是可执行即UX。如果地址在转换的过程中出现权限不匹配的情况,就会发生TLB权限违例的异常[4]。
对于上面提到的状况,为了实现第一级隔离保护和第二级隔离保护,可以划分独立的不可信赖的应用分区,具体来说分成两部分,一部分是一个数据段,另一部分是一个代码段。与此同时,划分把可信赖的应用和系统的分区,同样是分成两部分,一部分是一个数据段,另一部分是核心代码段以及系统调用接口段。最后把每个段分配到已经分离了的内存页面中,从而实现隔离保护,该隔离保护的基础是MMU应将具备的分页机制[5]。
(三)第三级隔离保护的分离栈措施
以分页机制和处理器模式为基础,只是能够隔离操作系统和应用分区或者隔离不同的应用分区。假如把分页运用在隔离应用内部的不同执行体间的数据访问,那么就需要给每个执行体数据或者是栈来提供完全不依赖任何系统的内存页,这种情况会使系统的负担加大,对于系统的性能产生不利影响。所以,运用分离栈的措施达到隔离保护北部细粒的作用,也就是说给操作系统、各个任务以及各个用户ISR独立的栈,不过提供的这些栈并不占据内存页,分配的位置是它们所属的应用或者内核的数据,并且利用个操作系统进行维护,从而达到隔离保护第三级的目的。
结语:
只有根据实际的使用需求利用好有限的硬件、软件资源,才能做好汽车电子嵌入式操作系统的隔离保护工作,才能满足汽车操作系统对于稳定性、安全性的需求。汽车电子嵌入式操作系统的隔离保护机制能够降低分页的数量,同时提高汽车操作系统整体的性能,还可以使之高效利用内部的存储空间,因而该隔离保护机制具有广泛的应用前景,对于汽车行业的发展具有重要的促进作用,鉴于此,我们应当不断加大对该隔离保护机制的研究力度。
参考文献:
[1]刘珍秧.基于AutoSAR的汽车电子控制系统嵌入式软件开发[J].电子世界,2014,03:32-33.
[2]陈丽蓉,燕立明,罗蕾.汽车电子嵌入式操作系统的隔离保护机制[J].电子科技大学学报,2014,03:450-456.
[3]卢从娟.探析汽车电子嵌入式操作系统的隔离保护机制[J].中国新通信,2015,15:100.
[4]陈丽蓉,李允,罗蕾.嵌入式操作系统的形式化验证研究[J].计算机科学,2015,08:203-214.
[5]燕立明,罗蕾.汽车电子操作系统存储保护机制的设计[J].计算机光盘软件与应用,2012,22:25-26+24.
关键词:汽车;电子嵌入式操作系统;隔离保护机制
受到经济发展和科技进步的推动,当前汽车电子操作系统的功能越来越多,也变得越来越复杂,一辆轿车中大约会装备八十个ECU,ECU即电子控制单元,它们之间会利用五中各种各样的总线系统进行通信和交互。隔离保护在确保汽车电子嵌入式操作系统可靠性和安全性方面发挥着重要的作用。近些年来,随着隔离保护机制的作用愈发明显,人们对它在汽车电子嵌入式操作系统中的研究也愈发深入。
一、汽车电子嵌入式操作系统的隔离保护机制的研究背景
软件分区分成两个部分,一部分是操作系统分区;另一部分是应用分区。操作系统的内核、负责进行存储的软件、进行通信诊断的软件、I/O控制、外设等各种不同的基础软件模块它们存在于一个值得信赖的并且运行模式是特权模式的系统分区当中[1]。在逻辑上,应用层的软件部件被划分至各种不同的应用当中,某些应用属于不值得信赖的、运行模式不是特权模式的系统分区当中,而另外一些应用和操作系统同样,也是位于值得信赖的并且运行模式为特权模式的系统分区当中。AUTOSAR规定实现各个不同的软件间的隔离保护和基础软件和应用软件这两种软件间的隔离保护,此外,为达到一些安全限制的目的,AUTOSAR规定还根据程序数据、代码以及栈等不同的分段规定了对应用和操作系统以及执行体这三个级别的隔离保护规范。
二、汽车电子嵌入式操作系统的隔离保护机制的总体架构
(一)总体架构
依据汽车电子嵌入式操作系统配置的硬件设备,它的隔离保护机制当中包含的隔离保护通常包含下面几个层级:首先,第一级的隔离保护,这一级保护指保护汽车的操作系统,通常而言,它的基础是汽车运用的处理器,审核和控制各种应用访问内存其行为进行的权限,隔离开操作系统与应用分区,保护汽车操作系统。其次,第二级的隔离保护,这一级保护指应用隔离,它主要控制各种应用非操作系统的访问,同时检查它的页编号是否匹配,从而隔离各种不同应用分区。最后,第三级的隔离保护,这一级保护指执行体隔离,达到对应用分区进行内部隔离的目的,需要分离应用当中各个不同的执行体(包括任务和中断服务程序)会用到的栈空间,从而实现内部隔离应用分区的目标[2]。
这三个不同保护级别的运行,始终贯穿于操作系统几大功能模块之中,这几个功能模块包括系统的初始化、管理和维护、异常处理。
(二)第一级隔离保护和第二级隔离保护
第一级隔离保护和第二级隔离保护的基础是MPU与MMU等支持的分页方法。当前,各种处理器运用的分页地址的转化方式的过程为:指令执行的时候,有效地址会生成,同时跟地址的空间标识和PID寄存器进行结合,PID寄存器的功能是危害系统的实时分区号,然后把它形成的虚拟地址跟TLB当中包含的页表项来相互比较与匹配。各个TLB页表项当中都有访问权限的相关数据、实际页的地址、对应物理分页TID号码的相应记录。如果参照有效地址以及地址空间标识与PID寄存器等形成的虚拟地址跟TLB当中包含的页表项两者是匹配的,那么就可以顺利的转换地址,从生成實际的物理地址[3]。
实际运用汽车电子嵌入式操作系统的时候,并非每次都是匹配的情况,还可能会有不匹配的情况,这种情况又可以分成两种:一是在TLB中找不到有效页的地址与它匹配,这种情况一般会发生在TLB没有命中出现异常的状况。这个时候要在这个异常处理的程序当中对TLB进行替换,也就是对页面进行置换。假如对TLB表项替换之后依旧找不到能够与这个有效页的地址匹配的相关的页表项,那么说明被访问的页是不存在的,这种条件下下要处理保护错误;二是TLB和有效页地址互相匹配,不过,TLB当中的TID不能跟PID匹配。这种情况一般会发生在TLB没有命中的异常状况,即发生权限违例。这种异常状况会用在隔离不同应用的分区工作中,说明发生了某个应用访问另一些应用的私有页面的状况。当TID是0的时候,PID是任何一个值都不会出现TLB没有命中的异常,这个特性用在达到操作系统分区的目的,从而便于操作系统提供给应用共享的服务。为了避免处在使用者模式之下的应用代码非凡访问操作系统的代码和数据空间,应当充分利用处于TLB表项之中的权限为,同时结合处理器当前的工作模式和即将需要访问空间的数据、代码、属性来进行控制。有六个权限信息位:一是特权模式下可读即SR;二是可写即SW;三是可执行即SX;四是用户模式下可读即UR,五是可写即UW;六是可执行即UX。如果地址在转换的过程中出现权限不匹配的情况,就会发生TLB权限违例的异常[4]。
对于上面提到的状况,为了实现第一级隔离保护和第二级隔离保护,可以划分独立的不可信赖的应用分区,具体来说分成两部分,一部分是一个数据段,另一部分是一个代码段。与此同时,划分把可信赖的应用和系统的分区,同样是分成两部分,一部分是一个数据段,另一部分是核心代码段以及系统调用接口段。最后把每个段分配到已经分离了的内存页面中,从而实现隔离保护,该隔离保护的基础是MMU应将具备的分页机制[5]。
(三)第三级隔离保护的分离栈措施
以分页机制和处理器模式为基础,只是能够隔离操作系统和应用分区或者隔离不同的应用分区。假如把分页运用在隔离应用内部的不同执行体间的数据访问,那么就需要给每个执行体数据或者是栈来提供完全不依赖任何系统的内存页,这种情况会使系统的负担加大,对于系统的性能产生不利影响。所以,运用分离栈的措施达到隔离保护北部细粒的作用,也就是说给操作系统、各个任务以及各个用户ISR独立的栈,不过提供的这些栈并不占据内存页,分配的位置是它们所属的应用或者内核的数据,并且利用个操作系统进行维护,从而达到隔离保护第三级的目的。
结语:
只有根据实际的使用需求利用好有限的硬件、软件资源,才能做好汽车电子嵌入式操作系统的隔离保护工作,才能满足汽车操作系统对于稳定性、安全性的需求。汽车电子嵌入式操作系统的隔离保护机制能够降低分页的数量,同时提高汽车操作系统整体的性能,还可以使之高效利用内部的存储空间,因而该隔离保护机制具有广泛的应用前景,对于汽车行业的发展具有重要的促进作用,鉴于此,我们应当不断加大对该隔离保护机制的研究力度。
参考文献:
[1]刘珍秧.基于AutoSAR的汽车电子控制系统嵌入式软件开发[J].电子世界,2014,03:32-33.
[2]陈丽蓉,燕立明,罗蕾.汽车电子嵌入式操作系统的隔离保护机制[J].电子科技大学学报,2014,03:450-456.
[3]卢从娟.探析汽车电子嵌入式操作系统的隔离保护机制[J].中国新通信,2015,15:100.
[4]陈丽蓉,李允,罗蕾.嵌入式操作系统的形式化验证研究[J].计算机科学,2015,08:203-214.
[5]燕立明,罗蕾.汽车电子操作系统存储保护机制的设计[J].计算机光盘软件与应用,2012,22:25-26+24.