用于保护工作存储器的方法和设备技术

技术编号:21176339 阅读:29 留言:0更新日期:2019-05-22 12:05
一种用于保护工作存储器的方法(10),其特征在于以下特征:将工作存储器的存储区域可选择地分配给第一类或第二类(11);在程序实施之前,至少将第一类的存储区域登记到存储器保护单元的配置表格中(13);并且在程序实施期间请求对第二类的存储区域中的目标区域进行访问(15)的情况下,在准许所述访问(15)之前(Y),将所述目标区域登记到所述配置表格中。

Method and equipment for protecting working memory

A method (10) for protecting working memory is characterized by the following characteristics: the storage area of working memory can be selectively allocated to the first or second category (11); at least the first storage area is registered in the configuration table (13) of the memory protection unit before the program is implemented; and the second storage area is requested during the program implementation. In the case of a target area accessing (15), the target area is registered in the configuration table before the access (15) is granted (Y).

【技术实现步骤摘要】
【国外来华专利技术】用于保护工作存储器的方法和设备
本专利技术涉及一种用于保护工作存储器的方法。本专利技术此外涉及一种相应的设备、一种相应的计算机程序以及一种相应的存储介质。
技术介绍
在存储器管理中,将操作系统的和所谓的虚拟机监视器的以下能力称作存储器保护:划分可用的工作存储器并且将运行的程序或客户系统相互分离,使得例如通过程序错误触发的、单个程序的崩溃不妨碍其他程序的或总系统的稳定性。以此方式阻止这样被监视的程序:无意地或有意地访问其他程序的存储区域或者与通过标准化的接口不同地利用所述操作系统。足够已知的是存储器保护单元(memoryprotectionunits,MPU)或更复杂的存储器管理单元memorymanagementunits,MMU),其支持存储器保护。在后续实施的范围内,名称“存储器保护单元”因此应在广泛的词义上理解,所述词义明确地包括具有翻译虚拟地址的能力的先进的存储器管理单元。存储器保护单元原先设计为微处理器的外部的附加部件,但是根据现有技术直接集成到高性能处理器中或者至少布置在其附近。然而,传统地仅仅设计用于实施单个应用的嵌入式系统和尤其微控制器也越来越多地配备有虚拟化与存储器保护机制。DE102014208848A1提出一种用于执行存储器访问的方法和计算机程序。为此,与存储器保护单元结合地使用虚拟机监视器,通过虚拟机监视器实现存储器访问。
技术实现思路
本专利技术提供根据独立权利要求所述的一种用于保护工作存储器的方法、一种相应的设备、一种相应的计算机程序——例如以虚拟机监视器或操作系统的形式——以及一种机器可读的存储介质。所提出的方案在此基于以下认识:可配置的存储区域的和与此相关的访问权限的数目在根据所述类型的硬件存储器保护单元中受限制。该限制随之引起:例如在虚拟机监视器的情况下,由虚拟机(VM)使用的存储区域的数目可能超出硬件的能力。就此而言在任何情况下考虑各个存储区域的合并,该合并限制存储器保护配置的粒度,从而不再能够完全地排除通过虚拟机对确定的存储位置的未经授权的访问。该问题可能通过以下方式加剧:虚拟机监视器预留相应的配置表格的一些项目用于内部的应用或者提供用于虚拟机的虚拟MPU实现,所述虚拟机自身又需要存储器保护单元,以便例如在虚拟机内实现受保护的操作系统。本专利技术的一种实施方式的优势在于,该实施方式克服根据所述类型的存储器保护单元的可配置的存储区域的数量限制,以便可以正确地确定由虚拟机直接地以及间接地——例如通过虚拟机监视器使用的全部存储区域。这样的解决方案允许虚拟机不受硬件存储器保护单元的能力限制地访问几乎任意数目的存储区域。通过在从属权利要求中列出的措施,能够实现在独立权利要求中说明的基本思想的有利的扩展方案和改进。附图说明在附图中示出并且在下面的描述中进一步阐述本专利技术的实施例。其中:图1示出根据第一实施方式的方法的活动图;图2示意性示出根据第二实施方式的控制设备。具体实施方式图1说明根据本专利技术的方法(10)的示例性的构型的基本流程。为了接下来的实施目的,应假设,所考虑的系统具有相比存储器保护单元按硬件支持的更大数目的待区分的存储区域。下面讨论的解决方案在此基于以下基本思想:虚拟机监视器根据需求在运行时间期间更换存储器保护单元的配置项目。该方案给作为虚拟机监视器的客户系统运行的虚拟机提供实施上下文,当所配置的存储区域的数目超出存储器保护单元的数目时,所述实施上下文考虑在所涉及的机器的配置中指定的所有存储区域自身。所描述的更换在此遵循可配置的借用操作系统理论的置换策略(Verdrängungsstrategie),如其根据现有技术例如对于缓存所应用的那样。例如考虑以下配置项目的调出:所述配置项目的通过MPU的最后的应用过去最久(最近最少使用,LRU)。该实现在此按图遵循以下方案:待配置的存储区域在发展阶段中首先可选择地分配给第一或第二类(活动11)。虚拟机监视器的配置语言为此允许积分器,将各个区域标记为不可调出的(第一类)或可调出的(第二类)。显然,在这种情况下,对于第二类的存储区域始终应保留存储器保护单元的至少一个配置项目,只要至少一个区域已经分配给该类。在存储区域的分类中应考虑,用于在经调出的存储区域中的机器命令的实施以及用于对这样的存储区域的写与读访问的等待时间可能是可观的。积分器负责决定:哪些存储区域应配置为不可调出的以及哪些应配置为可调出的。相应的——根据相应应用的实时要求——适用于符合目的的置换策略的选择。然后,虚拟机监视器将第二类的可调出的存储区域以合适的数据结构存储在闪存中(活动12)。对于这种类型的每个区域,结构在此包括所述区域的对于权限检查相关的细节,即尤其由该区域占用的地址空间的边界以及所涉及的客户系统的或过程的所允许的访问类型。在一种替代的实施方式中,在不离开本专利技术的范围的情况下,根据所进行的分类,仍然可以在代码生成的路径中产生检查例程,所述检查例程例如进行在第一类的区域和第二类的区域之间的情况区分(switchStatement)。在开始之前,虚拟机监视器通过配置存储器保护单元来设置全部的不可调出的存储区域,其方式是,虚拟机监视器将至少在第一类中包含的区域登记到存储区域的与此相关的配置表格中(活动13)。只要通过配置区分的存储区域的总数目不超出可用的表格项目的总数目,就不需要各个项目的调出。然而,如果所设置的存储区域的数目超出存储器保护单元的能力,则这样的调出在虚拟机的运行时间期间是可能的。存储器保护单元的“配置表格”的方案尤其包括在现代的存储器管理单元中典型地设置的分页表(pagetable),所述分页表首先用于将虚拟的存储地址翻译成物理的存储地址。这样的分页表可以是一级式地、多级式地或者为了节省存储空间而倒排地构造,其中,在分页表中的查找可以通过连接在前面的所谓的哈希表来加速。在这种情况下,通过产生分页表项(pagetableentry,PTE)来进行到分页表中的所述登记(活动13)。在一种更简单的实施方式中,配置表格可以在无虚拟的存储器管理的情况下仍然通过简单的存储器保护单元的寄存器来体现,如其例如在AUTOSAR-发展伙伴关系的范围中设置用于分离根据所述类型的控制设备(electroniccontrolunit:电子控制单元,ECU)的不同的软件部件(Softwarecomponents,SW-C)那样。配置表格的对于电子技术人员已知为“地区(Region)”的项目——典型地根据模型在每MPU为2个和32个之间的这样的地区——在这种情况下表示AUTOSAR的意义上的所谓的分区,所述分区作为相互限界的保护空间分别又可以包括多个软件部件。对于这些地区中的每一个,MPU的寄存器内容在此通过与制造商相关的比特序列说明对于相应的分区允许的访问类型,其中,有时进一步在通过“有特权的”软件和“无特权的”软件的访问之间进行区分。如果虚拟机在程序实施期间请求对由第二类包括的并且因此基本上可调出的、但是已经在存储器保护单元中预先配置的存储区域的访问——这种情况在图上未示出,则不需要通过虚拟机监视器的干预。然而,如果在程序实施期间请求对第二类的存储区域中的目标区域的访问,所述目标区域当前没有登记在配置表格中(事件15),则采取通过存储器保护单元定义的异常处理。虚拟机监视器提本文档来自技高网...

【技术保护点】
1.一种用于利用存储器保护单元保护工作存储器的方法(10),其特征在于以下特征:将所述工作存储器的存储区域可选择地分配给第一类或第二类(11),在程序实施之前,至少将所述第一类的存储区域登记到所述存储器保护单元的配置表格中(13),并且在程序实施期间请求对所述第二类的存储区域中的目标区域进行访问(15)的情况下,在准许所述访问(15)之前(Y),将所述目标区域登记到所述配置表格中。

【技术特征摘要】
【国外来华专利技术】2016.10.04 DE 102016219202.71.一种用于利用存储器保护单元保护工作存储器的方法(10),其特征在于以下特征:将所述工作存储器的存储区域可选择地分配给第一类或第二类(11),在程序实施之前,至少将所述第一类的存储区域登记到所述存储器保护单元的配置表格中(13),并且在程序实施期间请求对所述第二类的存储区域中的目标区域进行访问(15)的情况下,在准许所述访问(15)之前(Y),将所述目标区域登记到所述配置表格中。2.根据权利要求1所述的方法(10),其特征在于以下特征:通过异常处理例程(16,17,18,19,Y,N)处理所请求的访问(15),所述异常处理例程(16,17,18,19,Y,N)至少根据所述目标区域进行权限检查(19),以及如果所述权限检查(19)未命中(N),则所述异常处理例程(16,17,18,19,Y,N)触发预先配置的错误响应(17)。3.根据权利要求2所述的方法(10),其特征在于以下特征:所述异常处理例程(16,17,18,19,Y,N)根据请求所述访问(15)的机器命令(14)解码访问类型和在所述目标区域内的以下目标地址:所述访问(15)涉及所述目标地址,以及此外根据所述访问类型和所述目标地址进行所述权限检查(19)。4.根据权利要求3所述的方法(10),其特征在于以下特征:此外将所述第二类...

【专利技术属性】
技术研发人员:A博格A舍费尔G皮埃尔G莫尔根P奥斯丁
申请(专利权)人:罗伯特·博世有限公司
类型:发明
国别省市:德国,DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1