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

向应用主机提供应用对存储器分配和使用的方法和系统技术方案

技术编号:9721749 阅读:86 留言:0更新日期:2014-02-27 14:46
本文描述了一种存储器管理系统,它从各应用接收描述存储器正被如何使用的信息并且允许应用主机对使用存储器的应用请求施加更多控制。该系统提供应用存储器管理应用编程接口(API),该API允许应用指定与存储器分配有关的有助于稍后管理存储器的更多信息。该系统还提供以下能力:静态地和/或动态地分析传统应用以便向未被修改成与该系统一起工作的各应用给予参与更有效的存储器管理的一些能力。该系统提供应用主机改变以利用各应用所提供的信息并使用该信息和该应用的存储器使用中的挂钩来更有效地管理存储器。由此,该系统提供用于管理存储器的新模型,它改进了应用主机行为并允许各应用更有效地使用计算资源。

【技术实现步骤摘要】
【国外来华专利技术】用于新应用的存储器管理模型和接口背景计算机系统中的存储器管理指的是多个应用和操作系统对存储器的使用达成一 致的方式。虽然每一计算机系统具有固定量的物理随机存取存储器(RAM)或其他存储器, 但操作系统可向各应用和各操作系统组件呈现表示与物理存储器不同的存储器大小的虚 拟存储器。在一些情况下,虚拟存储器允许操作系统约束每一应用访问存储器的特定部分 以阻止一个应用通过无意地或有意地修改另一应用的存储器来干扰该另一应用的操作。操 作系统一般提供用于响应于应用和操作系统组件请求来分配并释放存储器的一个或多个 功能。操作系统可向应用提供存储器池,该应用可从该池中分配存储器块。如果一应用使 用或者一组应用一起使用比所安装的物理存储器的量更多的虚拟存储器,则操作系统可以 在被称为分页或盘交换(即,向盘存储和从中取回存储器的各页)的过程中使用较慢的基于 盘的存储来通过交换文件扩展存储器的外观大小。除了所提供的分配和释放功能之外,操作系统具有对各应用如何使用存储器的非 常少的洞察。许多计算设备包含围绕存储器的特定限制。例如,移动计算设备可包括与在 台式计算机系统上通常可用的存储器量相比小得多的存储器量(或系统可能想要解除某存 储器的动力以降低能耗),从而对该设备造成与多少应用可同时运行、每一应用可请求/消 费多少存储器等等有关的限制。在特定计算系统内主存应用代码的其他计算环境也可对该 环境的存储器使用施加限制或上限。主机,如VMware和MICROSOFT TM虚拟PC、系统管理程 序、操作系统以及其他,可被分配有限的资源。在所有这些情况中,有效的存储器管理变得 更加引人注目。新计算平台引入新技术或重新要求旧技术来解决各应用之间共享的有限存储器 的问题。例如,移动电话操作系统可以创建每一应用的存储器快照,使得在该应用不在前台 (例如,被主动使用)时,操作系统将它关闭并将该应用的存储器的镜像储存在较慢存储上 (例如,闪存或其他存储)。在该应用被选择时,操作系统将所存储的镜像重新加载到存储器 并开始该应用。该应用可能甚至不知道它被关闭过。虽然这些技术是有用的,但操作系统 然而将遭受该应用对使用存储器的不透明请求的损害。当前做出的与动态存储器使用有关 的大多数决策是基于在运行时期间找到的信息来做出的。这样的信息的示例包括对所分配 的存储器段的引用的大小和数量。这一信息随后可被用来确定哪些分配将被分页到盘,被 高速缓存到高性能存储器,或被某种自动存储器管理系统来释放。不幸的是,任何平台都受 到可能许多年的传统应用的限制,所以在与存储器管理一样宽广的区域中采用新模型是困 难的。概述本文描述了一种存储器管理系统,它从各应用接收描述存储器正被如何使用的信 息并且允许应用主机对使用存储器的应用请求施加更多控制。当今,除了应用已做出了多 少存储器请求和每一请求所请求的存储器大小之外,应用主机对该应用的存储器使用知之 甚少。然而,应用主机不知道每一存储器分配的目的,哪些存储器分配将被很快使用,在应 用主机需要更多存储器的情况下哪些存储器分配将被容易地重新创建,哪些存储器分配暂时不会被使用并且因此可被分页到盘而不影响该应用的性能,等等。不幸的是,虽然应用主机的任务是做出这些类型的决策,但应用拥有与有效做出这些决策有关的最多信息。存储器管理系统用若干方式克服了这些问题。首先,该系统提供应用存储器管理应用编程接口(API),该API允许该应用指定与存储器分配有关的有助于稍后管理存储器的更多信息。该API还可向应用主机提供通知该应用何时需要存储器以及在需要时在没有应用交互的情况下抢先释放并重新创建存储器分配的能力。其次,该系统提供以下能力:静态地和/或动态地分析传统应用以便向未被修改成与该系统一起工作的各应用给予参与更有效的存储器管理的某种能力。第三,该系统提供应用主机改变以利用各应用所提供的信息并使用该信息和该应用的存储器使用中的挂钩(hook)来更有效地管理存储器。由此,本存储器管理系统提供用于管理存储器的新模型,它改进了应用主机行为并潜在地允许各应用更高效地使用计算资源。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。附图简述图1是示出在一个实施例中的存储器管理系统的各组件的框图。图2是示出在一个实施例中的存储器管理系统的操作环境的框图。图3是示出在一个实施例中的软件应用内的存储器管理系统请求分配和使用存储器的处理的流程图。图4是示出在一个实施例中的主机内的存储器管理系统接收分配和使用存储器的应用请求的处理的流程图。图5是示出在一个实施例中的存储器管理系统分析未被专门设计成提供存储器分配信息的应用的处理的流程图。图6是示出在一个实施例中的存储器管理系统静态地分析应用并提供增强的存储器信息的清单的处理的流程图。图7是示出一个实施例中的存储器管理系统响应于检测到的存储器压力来采取与存储器有关的动作的处理的流程图。图8是示出一个实施例中的存储器管理系统激活其存储器先前已被主机修改的应用的处理的流程图。详细描述本文描述了一种存储器管理系统,它从各应用接收描述存储器正被如何使用的信息并且允许应用主机对使用存储器的应用请求施加更多控制。当今,除了应用已做出了多少存储器请求和每一请求所请求的存储器大小之外,应用主机对该应用的存储器使用知之甚少。然而,应用主机不知道每一存储器分配的目的,哪些存储器分配将被很快使用,在应用主机需要更多存储器的情况下哪些存储器分配将被容易地重新创建,哪些存储器分配暂时不会被使用并且因此可被分页到盘而不影响该应用的性能,等等。不幸的是,虽然应用主机的任务是做出这些类型的决策,但应用拥有与有效做出这些决策有关的最多信息。这一冲突当今是通过应用主机提供基本水平的功能并猜测要采取哪些动作来解决的。在许多情况下,应用主机可能恰好在应用需要存储器之前将该存储器分页到盘,或者应用主机可能花费大量努力来管理对应用不重要的存储器。本存储器管理系统用本文进一步讨论的若干方式克服了这些问题。首先,该系统 提供应用存储器管理应用编程接口(API),该API允许该应用指定与存储器分配有关的有 助于稍后管理存储器的更多信息。该API还可向应用主机提供通知该应用何时需要存储器 以及在需要时在没有应用的交互的情况下抢先释放并重新创建存储器分配的能力。其次, 该系统提供以下能力:静态地和/或动态地分析传统应用以便向未被修改成与该系统一起 工作的各应用给予参与更有效的存储器管理的某种能力。第三,该系统提供内核级操作系 统(或主机)改变以利用各应用所提供的信息并使用该信息和该应用的存储器使用中的挂 钩来更有效地管理存储器。因而,本存储器管理系统提供用于管理存储器的新模型,它改进 了应用主机行为并潜在地允许各应用更高效地使用计算资源。如本文所描述的,应用主机 可指的是执行应用的操作系统或另一类型的主机(例如,本身在操作系统上或虚拟化子系 统上运行的应用),如SILVERLIGHT TM、.NET所提供的运行时,本机Win32主机,或VMware 和虚拟PC所提供的其他主机或虚拟机。以上介绍的这三个区域中的每一个在以下各节中 进一步详细本文档来自技高网...

【技术保护点】
一种软件应用中的向增强的存储器管理系统请求分配和使用存储器的计算机实现的方法,所述方法包括:设置描述应用将如何使用存储器分配的分配元数据;设置填充所述存储器分配的内容的存储器填充函数;调用由主机提供的管理跨多个应用共享的物理存储器的分配接口,其中所述应用经由所述分配接口向所述主机提供所设置的分配元数据和存储器填充函数;响应于调用所述分配接口来接收引用,其中所述引用用作供所述应用对所述存储器分配的后续使用的间接标识符,其中,前述步骤由至少一个处理器来执行。

【技术特征摘要】
【国外来华专利技术】2011.06.20 US 13/163,7521.一种软件应用中的向增强的存储器管理系统请求分配和使用存储器的计算机实现的方法,所述方法包括:设置描述应用将如何使用存储器分配的分配元数据;设置填充所述存储器分配的内容的存储器填充函数;调用由主机提供的管理跨多个应用共享的物理存储器的分配接口,其中所述应用经由所述分配接口向所述主机提供所设置的分配元数据和存储器填充函数;响应于调用所述分配接口来接收引用,其中所述引用用作供所述应用对所述存储器分配的后续使用的间接标识符,其中,前述步骤由至少一个处理器来执行。2.如权利要求1所述的方法,其特征在于,设置分配元数据包括构建用于传递给接收分配元数据的分配函数的参数结构。3.如权利要求1所述的方法,其特征在于,设置分配元数据包括调用用于在进行分配后提供分配元数据的单独的应用编程接口(API)。4.如权利要求1所述的方法,其特征在于,设置分配元数据包括设置用于分配存储器的、接收分配元数据以增强存储器管理的派生类的参数。5.如权利要求1所述的方法,其特征在于,设置分配元数据包括包含对于所述应用的存储器的优先级的元数据。6.如权利要求1所述的方法,其特征在于,设置分配元数据包括包含所述应用计划有多频繁地使用所分配的存储器的元数据。7.如权利要求1所述的方法,其特征在于,设置分配元数据包括包含所述应用替换所述分配的内容有多困难的元数据。8.如权利要求1所述的方法,其特征在于,设置所述存储器填充函数包括设置访问来自文件的信息以填充所述存储器分配的内容的函数。9.如权利要求1所述的方法,其特征在于,设置所述存储器填充函数包括设置稍后可由所述主机调用以便在不涉及所述应用的情况下代表所述应用填充存储器内容的函数。10.如权利要求1所述的方法,其特征在于,设置...

【专利技术属性】
技术研发人员:J·C·斯帕德林G·亨特A·卓哈S·马耶
申请(专利权)人:微软公司
类型:
国别省市:

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

1