存储器保护方法及信息处理装置制造方法及图纸

技术编号:4193013 阅读:215 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种存储器保护方法及信息处理装置。所述存储器保护方法用于保护存储器免受程序的非法访问,所述存储器保护方法包括以下步骤:执行用于将所述存储器上未划分的地址空间划分为多个区域的区域定义处理;执行用于在调用对所划分的区域进行访问的程序的过程之前、对所划分的区域进行临时组合的组合处理;执行用于在对所述区域进行组合之后调用所述过程的调用处理;以及执行用于在所调用的过程执行之后、使所述组合后的区域恢复到所述组合处理之前的状态的恢复处理。

【技术实现步骤摘要】

本专利技术涉及一种保护存储器免受程序的非法访问的存储器保护方法及信息处理装置
技术介绍
—般来说,在嵌入式系统中,程序可以(直接)访问所有存储器区域。由于这一原因,将开销抑制到很小,但是,无法保护存储器免受程序错误导致的非法访问。 当产生这种非法访问时,开发效率降低。也就是说,需要大量的人力和时间来顾全和测试复杂软件的所有执行序列。请注意,非法访问可能往往仅在特定执行序列中导致故障。由于复杂软件通常包含有多个逻辑模块,因此,非法访问往往不会在所有模块被综合(integrate)之前导致故障。 当系统中发生的故障的原因是非法访问时,很难指定作为该原因的访问。这是因为,如果故障在非法访问时即显现出来,则可以指定这样的访问,但是故障通常不会立即显现出来。例如,在从非法访问时起直到故障实际发生为止已执行过许多处理的情况下,很难指定作为该非法访问的来源的处理。 另一方面,在诸如工作站的非嵌入式系统中,一般来说,为了保护存储器免受非法访问,使用了对各程序固有的虚拟地址空间。在这种情况下,在虚拟地址空间上运行的程序不能访问与该空间不相关联的存储器区域。当要使用另一程序的虚拟地址空间的内容时,例如,操作系统(0S, Operating System)充当不同虚拟地址空间上的程序之间的消息交换的媒介。此外,已知有这样一种技术,其改变与虚拟地址空间相关联的存储器区域,以准许对最初不准许被访问的存储器区域进行访问(日本专利特开第2005-209178号公报)。 然而,对受保护的存储器区域进行访问需要大的开销,并相当程度地降低了系统的执行速度。当经由OS交换消息时,必须将执行环境切换到被准许访问相应存储器区域的程序。此外,由于消息交换需要复制数据,因此,访问所需要的开销很大。 另一方面,当多个存储器区域与虚拟地址空间的一部分相关联时,例如,在使用将虚拟地址编入索引的缓存的系统中,需要在每当与存储器区域的对应关系发生改变时都闪存和无效化该缓存的处理。另外,当对虚拟地址与物理地址之间的对应关系进行缓存时,也必须对该缓存进行无效化。这些操作增加了访问所需的开销,并降低了访问后的执行速度。
技术实现思路
本专利技术能够提供一种抑制对存储器上被划分的区域的非法访问、并减轻对所述区域访问的过程的执行速度的降低的技术。 根据本专利技术的第一方面,提供了一种存储器保护方法,其用于保护存储器免受程序的非法访问,该存储器保护方法包括以下步骤执行用于将所述存储器上的未划分的地址空间划分为多个区域的区域定义处理;执行用于响应于所述程序需要对所划分的区域中的至少两个区域进行访问的过程、对所述至少两个区域进行临时组合的组合处理;执行用4于在所述组合处理中对所述区域进行组合之后调用所述过程的调用处理;以及执行用于在所述调用处理中所调用的过程被执行之后,使所组合的区域恢复到所述组合处理之前的状态的恢复处理。 根据本专利技术的第二方面,提供了一种信息处理装置,其用于保护存储器免受程序的非法访问,该信息处理装置包括区域定义处理单元,其被构造为将所述存储器上的未划分的地址空间划分为多个区域;组合处理单元,其被构造为响应于所述程序需要对所划分的区域中的至少两个区域进行访问的过程,对所述至少两个区域进行临时组合;调用处理单元,其被构造为在所述组合处理单元对所述区域进行组合之后调用所述过程;以及恢复处理单元,其被构造为在所述调用处理单元所调用的过程被执行之后,使所组合的区域恢复到所述组合处理之前的状态。 通过下面参照附图对示例性实施例的描述,本专利技术的其他特征将变得清楚。附图说明 图1是示出信息处理装置10的结构的示例的框图; 图2是示出由CPU 101实现的功能结构的示例的框图; 图3是示出信息处理装置10中的操作的示例的第一个流程图; 图4是示出保护功能设置表109的示例的图; 图5是示出信息处理装置10中的操作的示例的第二个流程图; 图6A及图6B是例示在存储器上确保的多个保护区域与对这些区域的访问之间的关系的图; 图7是示出信息处理装置10的结构的示例的框图; 图8是示出由CPU 101实现的功能结构的示例的框图; 图9是示出信息处理装置10中的操作的示例的流程图; 图10是示出保护功能设置表109的示例的第一个图; 图11是示出保护功能设置表109的示例的第二个图; 图12是示出信息处理装置10的结构的示例的框图; 图13是示出信息处理装置10中的操作的示例的第一个流程图; 图14是示出保护功能设置表109的示例的第一个图; 图15是示出保护功能设置表109的示例的第二个图; 图16是示出保护功能设置表109的示例的第三个图; 图17是示出信息处理装置10中的操作的示例的第二个流程图;以及 图18A及图18B是示出包含在保护功能设置表109中的访问权限保持表113的示例的图。具体实施例方式下面,将参照附图来详细描述本专利技术的优选实施例。应当注意,除非另外特别说明,否则在这些实施例中所陈述的各组件的相对结构、数字表达及数值并不限定本专利技术的范围。图1是示出信息处理装置10的结构的示例的框图。 CPU (中央处理单元,Central Processing Unit) 101对整个信息处理装置10进行 控制。 存储器102包括存储不需要改变的程序及参数的R0M(只读存储器,Read Only Memory)以及临时存储从外部装置等供给的程序及数据的RAM(随机存取存储器,Random Access Memory)。 外部存储设备104包括硬盘及存储卡。请注意,外部存储设备104可以包括从信 息处理装置上可拆卸的软盘(FD, Flexible Disk)、诸如CD (压縮盘,Compact Disk)的光 盘、磁卡和光卡以及IC卡。 输入/输出接口 105将数据输入到信息处理装置,并将数据输出到装置外部。输 入/输出接口 105由例如联系信息处理装置10与用户的用户接口、用来连接外部环境(例 如网络)的通信接口等来实现。系统总线106连接上述各单元,使得能够交换数据。 在存储器102上,映射有各种程序及数据。验证程序107表示可能包含有可能会 导致非法访问的错误的程序。在这种情况下,验证程序107包含有三个模块,即模块Mll、 M12及M13。在本实施例中,假设验证程序107的执行从模块Mll开始。另外,在本实施例 中,假设验证程序107需要一项任务。也就是说,验证程序107不需要两项或更多项任务。 请注意,视使用验证程序107的环境而定,例如在UNIX 0S环境中,可以将任务称为线 程。通过调用保护管理程序108中的具有保护区域临时组合功能的过程调用处理(以下 简称为具有组合功能的过程调用处理),来实现对配置于存储器的不同区域上的模块的 过程调用(以下称为公共过程)。也就是说,假设验证程序107记述有用于调用该处理 的过程。 保护管理程序108(存储器保护程序)包含有用于实现区域定义处理以及具有组 合功能的过程调用处理的过程。指定预定设置信息的保护功能设置表109包括例如区域定 义信息。 存储器管理单元103用作检查对存储器102的访问的合法性的存储器管理设备。 存储器管理单元103包括例如匪U(存储器管理单元,MemoryManagement Unit)或MPU(存本文档来自技高网
...

【技术保护点】
一种存储器保护方法,其用于保护存储器免受程序的非法访问,该存储器保护方法包括以下步骤:执行用于将所述存储器上的未划分的地址空间划分为多个区域的区域定义处理;执行用于响应于所述程序需要对所划分的区域中的至少两个区域进行访问的过程、将所述至少两个区域临时组合的组合处理;执行用于在所述组合处理中对所述区域进行组合之后调用所述过程的调用处理;以及执行用于在所述调用处理中所调用的过程被执行之后、使所组合的区域恢复到所述组合处理之前的状态的恢复处理。

【技术特征摘要】
JP 2008-10-1 2008-256636一种存储器保护方法,其用于保护存储器免受程序的非法访问,该存储器保护方法包括以下步骤执行用于将所述存储器上的未划分的地址空间划分为多个区域的区域定义处理;执行用于响应于所述程序需要对所划分的区域中的至少两个区域进行访问的过程、将所述至少两个区域临时组合的组合处理;执行用于在所述组合处理中对所述区域进行组合之后调用所述过程的调用处理;以及执行用于在所述调用处理中所调用的过程被执行之后、使所组合的区域恢复到所述组合处理之前的状态的恢复处理。2. 根据权利要求1所述的存储器保护方法,其中,所述程序包含多个过程,并具有用于 在调用对所划分的区域进行访问的所述过程之前调用所述组合处理的代码,并且所述组合处理在被所述程序调用时执行。3. 根据权利要求1或权利要求2所述的存储器保护方法,该存储器保护方法还包括以 下步骤执行用于确定所述程序对所述存储器的访问的合法性的存储器管理处理, 其中,在所述程序进行对所划分的区域的访问而不调用所述组合处理的情况下,确定 该访问是非法访问。4. 根据权利要求1所述的存储器保护方法,该存储器保护方法还包括以下步骤 执行通过从所述程序中检测对所划分的区域进行访问的过程并转换所述程序的处理内容以在所述调用处理中调用所检测到的过程的转换处理。5. 根据权利要求4所述的存储器保护方法,其中,在所述转换处理中,所述程序的源代 码被改变。6. 根据权利要求4或权利要求5所述的存储器保护方法,其中,在所述转换处理中,所 述程序的目标代码的外部参照过程名称被改变。7. 根据权利要求4所述的存储器保护方法,其中,在所述转换处理中,在所述程序执行 之前执行所述转换。8. 根据权利要求4所述的存储器保护方法,其中,在所述转换处理中,基于过程定义信 息从所检测到的过程中选择要转换的过程,并对...

【专利技术属性】
技术研发人员:小林秀典
申请(专利权)人:佳能株式会社
类型:发明
国别省市:JP[日本]

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

1