当前位置: 首页 > 专利查询>微软公司专利>正文

对利用地址转换映射寻址的存储器控制存取访问的方法和系统技术方案

技术编号:2866030 阅读:206 留言:0更新日期:2012-04-11 18:40
揭示了允许有效地实行某些存储器存取控制算法的机制。当存储器存取控制是基于控制对地址转换映射(或映射集)的改变时,可能有必要判断某一映射改变是否会允许以不许可的方式对存储器进行存取访问。可高速缓存关于映射的某些数据,以便比执行对整个映射的评估更有效地进行判断。

【技术实现步骤摘要】

本专利技术一般涉及计算机安全领域。本专利技术尤其涉及使用地址转换控制实现隔离的或“隔开的”存储器。
技术介绍
在某些情况下,希望具有隔离的或“隔开的”存储器部分,对这些存储器部分的存取是受限的。例如,计算机可并行运行两个操作系统,其中一个操作系统是安全的,而另一个不是。在此情况下,希望安全的操作系统具有隔开的存储器,在该隔开的存储器中能存储非安全的操作系统所不能存取访问的保密信息。实现隔开的存储器的一种方式是通过地址转换控制。许多当代的计算机使用虚拟存储系统,其中,运行于计算机上的软件使用虚拟地址对存储器寻址,存储器管理单元使用一组地址转换映射将虚拟地址转换成实际地址。典型地是每个进程具有其自己的地址转换映射,从而虚拟地址和实际地址间的映射在进程与进程之间不同。可能的是配置一给定进程的地址转换映射,使得该进程的映射不把对于实际存储的给定块(如页面)的任何虚拟地址暴露给其它进程。从而,通过确保只有安全的进程具有对于实际存储器的给定块的虚拟地址,就可能通过控制地址转换映射的内容来实现隔开的存储器。当使用这样的一种机制来实现隔开的存储器时,所引发的一个问题是,由于地址转换映射存储在存储器中,对存储器执行写操作的每个操作都可能影响映射,并从而可能致使对于隔开的存储器的虚拟地址暴露于不应能存取访问隔开的存储器的进程。防止这种虚拟地址被暴露的一种方式是在执行对存储器的每次写操作时校验每个映射的每个元素,以便确保在不应能存取访问隔开的存储器的任何进程的映射中没有对于隔开的存储器的页的虚拟地址。然而,给定写操作的频率,这种技术是低效的。鉴于上述,需要一种能够克服现有技术缺陷的机制。
技术实现思路
本专利技术提供有效地控制对地址转换映射的改变的机制。可通过防止地址转换映射进入对于隔离的存储器的块的虚拟地址会暴露于不允许存取访问该隔离的存储器的进程(或其它实体)的状态,来实现隔离的存储器。一个“策略”定义了什么存储器存取访问操作是许可的,存储器存取控制系统能通过禁止地址转换映射进入违反该策略的任何状态来进行操作。虚拟地址会被暴露的状态通常可根据满足某个特性的两个或多个集合的交集(或非交集),或根据满足某个特性的页面数来定义。可存储或高速缓存作为所定义的集合的成员的页面的标识,使得不必在执行可能改变地址转换映射的状态的每次写操作时计算集合的成员。例如,可将集合中的页面的标识存储为位向量,可对于这些位向量有效地执行诸如并集、交集等之类的集合运算。在某些情况下,可能很难计算满足某个特定特性的确切的集合,但是通过使用某些明确定义的子集或扩展集合作为实际集合的代表来确保符合策略,这在数学上是可行的。如果子集或扩展集合比实际集合相对较容易计算,那么可使用子集或扩展集合来代替实际集合。此外,可按照某些统计计数来定义某些写操作允许性——例如,满足某个特性的页面数、对一给定页面的引用数等。可按引用计数器来有效地存储或高速缓存这种统计,可通过加1和减1操作来更新引用计数器。每次映射改变状态时,可更新位向量或计数器,然后有效地用于在策略的约束下评估存储器存取操作。下面描述本专利技术的其它特征。附图说明通过连同附图一起阅读,会更好地理解上述概述以及下述的较佳实施例的详细描述。出于说明本专利技术的目的,附图中示出了本专利技术的示例性构成,然而,本专利技术并不限于所揭示的特定方法或手段。附图中图1是可实施本专利技术的诸方面的计算环境的框图;图2是通过地址转换映射实现虚拟寻址的存储器系统的框图;图3是一具有属性的示例性页面表的框图;图4是表示可用于实现存储器存取控制的条件的两个示例性非交集集合的框图 图5是表示地址转换映射的有向标记图的框图;图6是示例性存储器存取控制过程的流程图。具体实施例方式示例性计算配置图1示出了可实施本专利技术的诸方面的示例性计算环境。计算系统环境100仅仅是合适的计算环境的一个例子,并不打算限制本专利技术的使用或功能。计算环境100不应被解释成具有对示例性操作环境100中所例示的任一组件或其组合的任何依赖性或要求。本专利技术可用许多其它的通用或专用计算系统环境或配置来操作。可适用于本专利技术的众所周知的计算系统、环境和/或配置的例子包括但不限于,个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、嵌入式系统、可包括任何上述系统或设备的分布式计算环境等等。可在由计算机执行的诸如程序模块的计算机可执行指令的一般上下文环境中描述本专利技术。一般来说,程序模块包括例行程序、程序、对象、组件、数据结构等,它们执行特定的任务或实现特定的抽象数据类型。本专利技术还可在由通过通信网络或其它数据传输媒体链接的远程处理设备来执行任务的分布式计算环境中实施。在分布式计算环境中,程序模块和其它数据可位于包括存储器设备的本地或远程计算机存储媒体中。参考图1,用于实现本专利技术的示例性系统包括形式为计算机110的通用计算设备。计算机110的组件可包括但不限于处理单元120、系统存储器130以及将包括系统存储器的各种系统组件连接到处理单元120的系统总线121。系统总线121可以是总线结构的若干类型中的任一种,包括使用各种总线结构体系中的任一种的存储器总线或存储器控制器、外围总线和局部总线。例如但不限于,这种总线结构体系包括工业标准结构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及外设部件互连(PCI)总线(也称为夹层总线(Mezzanine bus))。计算机110一般包括各种计算机可读媒体。计算机可读媒体可以是能由计算机200存取访问的任何可利用的媒体,包括易失性和非易失性媒体、可移除和不可移除的媒体。例如,计算机可读媒体可包括但不限于计算机存储媒体和通信媒体。计算机存储媒体包括以任何技术或方法实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的易失性和非易失性、可移除和不可移除的媒体。计算机存储媒体包括但不限于RAM、ROM、EEPROM、闪存或其它存储技术、CDROM、数字通用盘(DVD)或其它光存储设备、磁带盒、磁带、磁盘存储器或其它磁存储设备、或能用于存储所需信息并能由计算机110存取访问的任何其它媒体。通信媒体一般以如载波或其它传送机制之类的调制数据信号的形式来表示计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传送媒体。术语“调制数据信号”指的是以编码信号中的信息的方式设置或改变信号的一个或多个特征。作为例子但非限制,通信媒体包括如有线网络或直接线缆连接之类的有线媒体,和如声音、RF、红外线之类的无线媒体和其它无线媒体。任何上述的组合也应包括在计算机可读媒体的范围之中。系统存储器130包括诸如只读存储器(ROM)131和随机存取存储器(RAM)132之类的易失性和/或非易失性形式的计算机存储媒体。包含如在启动期间帮助计算机100内的各元件间传输信息的基本例行程序的基本输入/输出系统133(BIOS)一般存储在ROM 131中。RAM 132一般包含可由处理单元120立即存取和/或当前正在运行的数据和/或程序模块。作为例子但非限制,图1例示了操作系统134、应用程序135、其它程序模块136和程序本文档来自技高网
...

【技术保护点】
一种以计算机可执行指令编码的用于执行处理存储器存取访问请求的方法的计算机可读媒体,其特征在于,所述方法包括:接收对存储器的部分进行存取访问的请求,所述请求通过可通过地址转换映射转换的标识符标识要被存取访问的存储器部分;根据经 高速缓存的关于所述地址转换映射的信息,判断所述请求的执行是否会违反一限制对所述存储器存取访问的策略;如果对所述请求的执行不会违反所述策略,则允许根据所述请求对所述存储器存取访问;以及如果对所述请求的执行会违反所述策略,则进行 下述任一步骤:阻挡所述请求;或修改所述请求,使得所述请求不违反所述策略,并执行经修改的请求。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:M佩纳多P英格兰
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1